若有以下程序,则程序的输出结果是 #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);}

admin2020-05-19  13

问题 若有以下程序,则程序的输出结果是
#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);}

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

答案C

解析 表达式c=(a=++a),(a+=b,b+=4)相当于逗号表达式,首先计算c=(a-=++a),其中(a-=++a)等价a=a-(++a),得到a的值0,c的值为0,在计算(a+=b,b+=4)时,a和b的初值为0,计算以后,a为0,b为4。
转载请注明原文地址:https://jikaoti.com/ti/ywG0FFFM
0

最新回复(0)