inta=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf("%d,%d,%d\n",a,b,c);怎么计算?
答案:2 悬赏:20
解决时间 2021-11-28 07:01
- 提问者网友:西路不相离
- 2021-11-27 19:36
inta=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf("%d,%d,%d\n",a,b,c);怎么计算?
最佳答案
- 二级知识专家网友:浪者不回头
- 2021-11-27 19:57
b+3 ;//=3 b=0
a=b ;//a=0 b=0
a-=a-5 ;//a-5 = -5 a-=(-5) = 5 a=5
c=逗号表达式的值,逗号表达式的值为最后一个表达式的值
c=(a-=a-5),(a=b,b+3)的这个逗号表达式的值就是(a=b,b+3)的值是(b+3)b=0则b+3=3
所以整个表达式的值为3,则c=3
输出为:
5,0,3
以上
a=b ;//a=0 b=0
a-=a-5 ;//a-5 = -5 a-=(-5) = 5 a=5
c=逗号表达式的值,逗号表达式的值为最后一个表达式的值
c=(a-=a-5),(a=b,b+3)的这个逗号表达式的值就是(a=b,b+3)的值是(b+3)b=0则b+3=3
所以整个表达式的值为3,则c=3
输出为:
5,0,3
以上
全部回答
- 1楼网友:山鬼偶尔也合群
- 2021-11-27 20:38
大哥题都不对。
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.
论述完毕.....................
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯