若有以下程序 #include main() { int a=0,b=0,c=0; c= (a -= ++a), (a+=b, b+=4); printf("%d,%d,%d\n",a,b,c); } 则程序的输出结果是( )。

admin2015-07-28  9

问题 若有以下程序
#include
main()
{ int a=0,b=0,c=0;
c= (a -= ++a), (a+=b, b+=4);
printf("%d,%d,%d\n",a,b,c);
}
则程序的输出结果是( )。

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

答案A

解析 表达式"c= (a -= ++a), (a+=b, b+=4)"中,先计算括号内的表达式:"(a -= ++a)"得a为0;然后把该表达式的值赋值给c,所以c为0;"(a+=b, b+=4)"为一个逗号表达式,整个逗号表达式的值为最后一个表达式的值,即为4,其中b的值为4;所以答案为A)。
转载请注明原文地址:https://kaotiyun.com/show/f7Jp777K
0

最新回复(0)