作业帮 > 综合 > 作业

若有以下程序段:int a=0,b=0,c=0 c=(a-=a-5),(a=b,b+3); printf(“%d,%d,

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/06/13 19:39:36
若有以下程序段:int a=0,b=0,c=0 c=(a-=a-5),(a=b,b+3); printf(“%d,%d,%d\n”,a,b,c);
执行后输出地结果是0,0,5,为什么前面是0,
若有以下程序段:int a=0,b=0,c=0 c=(a-=a-5),(a=b,b+3); printf(“%d,%d,
大哥题都不对.
int a=0,b=0,c=0;
c=(a-=a-5),(a=b,b+3);
printf(“%d,%d,%d\n”,a,b,c);
按程序运行来讲吧.
第一句不说了...
第二句为逗号表达式.
c=(a-=a-5)
给c赋值,把a-=a-5的结果赋给c;
(a-=a-5)=(a=a-(a-5));
把a=0;代入得a=5;
进而(a-=a-5)的值为5;
c=5;
接下来执行(a=b,b+3);
这里面又有逗号表达式.
a=b;因b=0;故a=0;
b+3;不对任何变量赋值,相当于空语句;
综上所述:a=0;b=0;c=5.
论述完毕.