标题:int函数的一个小疑问
只看楼主
绘沐
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2021-3-8
结帖率:0
已结贴  问题点数:20 回复次数:2 
int函数的一个小疑问
int a=1,b=2;
int m=(a=2,b+1,a+b,a++,a*b);
printf("%d",m);
为什么输出6啊?
是在其内部开始一步一步到最后的a*b吗
求一个具体的解释,为什么int m后面的括号有这么多运算?
搜索更多相关主题的帖子: 函数 括号 int 疑问 运算 
2021-03-08 01:21
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:20 
(a=2,b+1,a+b,a++,a*b)
执行 a=2 后 a==2
执行 a++ 后 a==3
a*b 表达式的值是 3*2,也就是 6
(a=2,b+1,a+b,a++,a*b) 这个表达式的值就是最后一个子表达式的值,也就是 6
2021-03-08 10:34
绘沐
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2021-3-8
得分:0 
回复 2楼 rjsp
谢谢大佬
2021-03-08 13:01



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-505040-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.298794 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved