柠檬试题库
search
首页 计算机 公务员 驾照 关于

若有以下程序 #include main() { int a=1,b=2,c=3,d=4; if ((a=2) && (b=1)) c=2; if ((c==3) || (d=-1)) a=5; printf("%d,%d,%d,%d\n", a,b,c,d); } 则程序的输出结果是


  • A.2,2,2,4
  • B.2,1,2,-1
  • C.5,1,2,-1
  • D.1,2,3,4
热度🔥1,145
参考答案:C
解析:

【解析】第一个if语句的判断条件中是逻辑与表达式,只有运算对象均非零结果才为真,执行第一个if判断条件,均为赋值表达式,第一个运算对象a=2非零,判断第二个表达式b=1也非零,所以条件成立执行c=2的赋值操作。执行第二个if判断条件中的逻辑或表达式,只要有一个对象非零结果就是真,本条件中c==3运算对象为假,所以需要判断第二个运算对象d=-1,结果为-1非零,所以条件成立,执行a=5,的操作,所以a值为5,b值为1,c值为2,d值为-1。
复制题目向AI提问