有以下程序 #include <stdio.h> main() { int a=0,b=0,c=0,d=0; (++a || ++b) ? ++c : ++d; printf("%d,%d,%d,%d\n", a,b,c,d); } 程序的

admin2021-07-09  25

问题 有以下程序
#include <stdio.h>
main()
{  int  a=0,b=0,c=0,d=0;
   (++a || ++b) ? ++c : ++d;
   printf("%d,%d,%d,%d\n", a,b,c,d);
}
程序的运行结果是

选项 A、1,0,1,0
B、1,1,0,1
C、1,0,0,1
D、1,1,1,0

答案A

解析 条件表达式一般形式:exp1:exp2:exp3,执行规则为:若exp1为真,求解exp2,输出exp2的值,不计算exp3的值;若为假,求解exp3,输出exp3的值,不计算exp2的值。本题程序执行过程为:求解逻辑表达式(++a || ++b),先求解++a,a=1,则整个表达式为真,不计算++b,然后求解++c,不计算++d,最后得到a=1,b=0,c=1,d=0,A选项正确。
转载请注明原文地址:https://jikaoti.com/ti/kuz0FFFM
0

最新回复(0)