注册 登录
编程论坛 C++教室

int函数的一个小疑问

绘沐 发布于 2021-03-08 01:21, 1212 次点击
int a=1,b=2;
int m=(a=2,b+1,a+b,a++,a*b);
printf("%d",m);
为什么输出6啊?
是在其内部开始一步一步到最后的a*b吗
求一个具体的解释,为什么int m后面的括号有这么多运算?
2 回复
#2
rjsp2021-03-08 10:34
(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
#3
绘沐2021-03-08 13:01
回复 2楼 rjsp
谢谢大佬
1