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

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/11 14:28:09
int a=0,b=0,c=0;a=(b=3,c=5*b,b=10);最后为什么得a=10,b=0,c=15?重点是b.
xQN0;BUaIK!6CJTJUX: 1h+S~TbuϹ{OЧ XdxP>DfuHo&H9ֿ;{OMx'$-I6JWOuQ%zMdQ֨u@y\qNc[`ѽc8g9pDzu@|߃#?g%*?&8.8k)6=2z=5fF\|?0C`

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