永发信息网

请问这道问题怎么回事?

答案:3  悬赏:70  手机版
解决时间 2021-04-13 07:46
最近正在忙着学C语言,在书上见到这样一道题:若有以下程序段:int a=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf("%d,%d,%d\n",a,b,c);执行后的结果是什么?本人比较菜,请解释清楚一点。
最佳答案
if(a>b,b>c,c>d)
逗号表达式与加减乘除本质上是一样的, 它的求值是从左向右依次对表达式求值, 整个表达式的结果取逗号表达式中最后一个表达的的结果, 如果非零, 就会使 if 成立!

依照上面的理论
c=(a-=a-5),(a=b,b+3)的执行顺序是这样的:
1、首先分两块,逗号前面的是第一块,先执行,逗号后面的是第二块,后执行;
2、两个块中,括号里的先执行
3、a -= a-5; //执行前, a=0, 执行后, a -= -5, a = 5;
c = a; //c = 5;
a = b; // a = b = 0;
b + 3; //执行,但是不修改任何数字
所以,最后结果是: 0, 0, 5
全部回答

逗号运算符,按顺序执行,取最后一个的值。

仅供参考!

结果是:0,0 ,5

由结果分析:

c=(a-=a-5),(a=b,b+3);

等价:c=(a=(a-(a-5)),(a=b,b+3);

等价:c=(a=5),(a=b,b+3);

此句是将a=5赋给c,c=5

此后:a=b,b+3;说明a=0,

b的值没有变化,即b=0(初始值)

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
那款车好00
寻仙游戏东山岛从哪进?多少级能进啊?
新合村在什么地方啊,我要过去处理事情
寻30句关于真善美的名言警句
中通快递到县后什么时候往镇上发
问问的判断题
为什么我到滔滔网注册了资料,滔滔的图标为什
dnf光剑好使吗??
请问云南有波尔山羊养殖厂吗?在那里?
丝路英雄高手进!这英雄怎么样,帮忙鉴定一下
Thewindblewverystronglylastnight,
电脑蓝屏代码0x0000008E(0×C0000005,0
牙克石市童鑫文化用品商店地址有知道的么?有
全国商票能贴现的企业名录
怎样才能将白乳胶在KT板上摸匀?
推荐资讯
单选题________Tom________avolleyball?A.Doe
河北省发展改革委员会在石家庄哪里?
你的前女友结婚了你会参加她的婚礼吗?
嗟乎!大阉之乱,晋绅而能不易其志者,四海之
2008年8月8日,北京奥运会开幕的夜晚,全球几
广州番禺那里有买织围巾的毛线的。
我是农历1991年7月23日出生的,我想占一下我
帮我给我儿子取一名字
伪珠可以组什么成语
单选题某居民需要买住房却无足够的钱购买,自
高考来临,怎样短时间内拿高分
美步整木定制这个地址在什么地方,我要处理点
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?