选择题
若有以下程序
#include<stdio.h>
main()
{ int a=0,b=0,c=0;
c=(a-=++a), (a+=b, b+=4);
printf('%d,%d,%d\n',a,b,c);
}
则程序的输出结果是______。
【正确答案】
B
【答案解析】[考点] C基础知识和顺序结构 逗号运算符的结合性是从左到右,因此逗号表达式将从左到右进行计算。且逗号运算符的优先级最低,所以先计算c=(a-=++a)这部分。其中,赋值运算符从右往左计算,先执行++a,a自增1后再赋值,所以a的值为1,执行a=a-1,即a=1-1,a的值为0,并将0赋给变量c。第二部分(a+=b,b+=4),先执行a=a+b,a=0+0,即a的值为0,然后执行b+=4,b=0+4,即b的值为4。所以输出结果为0,4,0。