int a=0,b=0,c=0;a=(b=3,c=5*b,b=10);最后为什么得a=10,b=0,c=15?重点是b.

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 16:08:21
int a=0,b=0,c=0;a=(b=3,c=5*b,b=10);最后为什么得a=10,b=0,c=15?重点是b.

int a=0,b=0,c=0;a=(b=3,c=5*b,b=10);最后为什么得a=10,b=0,c=15?重点是b.
int a=0,b=0,c=0;a=(b=3,c=5*b,b=10);最后为什么得a=10,b=0,c=15?重点是b.

int a=0,b=0,c=0;a=(b=3,c=5*b,b=10);最后为什么得a=10,b=0,c=15?重点是b.
(b=3,c=5*b,b=10) 是逗号表达式,运算次序:
(1)b=3; // b 从 0 变 3
(2)c=5*b; // c 得15
(3)b=10;// b 从 3 变 10
(4)逗号表达式 的值等于 最右表达式的 值
所以: a=(b=3,c=5*b,b=10); a=(b=10); a= 10
(5)输出 a=10,b=10,c=15

不应为10 0 15