有以下程序 #include main() { int a=0,b=0,c=0,d=0; (a++ && b++) ? c++ : d++; printf("%d,%d,%d,%d\n", a,b,c,d); } 程序的运行结果是( )。

admin2015-07-28  25

问题 有以下程序
#include
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,0,1
B、1,1,0,1
C、1,0,1,0
D、1,1,1,0

答案A

解析 条件表达式的形式为: 表达式1:表达式2 : 表达式3 ,计算"表达式1"的值,若为"真",取"表达式2"的值作为整个条件表达式的值;若为"假",取"表达式3"的值作为整个条件表达式的值。根据逻辑与表达式的"短路"现象,表达式"a++&&b++"的结果为假,a=1,b=0,之后计算"d++"。所以整个条件表达式执行完毕之后:a=1,b=0,c=0,d=1,答案选A。
转载请注明原文地址:https://jikaoti.com/ti/x0n0FFFM
0

最新回复(0)