C语言 若定义: int=3;,有表达式i=(i+=i,i*=i),i-10,i%4,则该表达式的

C语言若定义: int=3;,有表达式i=(i+=i,i*=i),i-10,i%4,则该表达式的值是0. why?
2026年09月26日 22:28
有3个网友回答
网友(1):

逗号表达式的返回值是最后一个逗号后面的表达式
另外逗号表达式的运算优先级最低
1. i = 3
2. i += i; i等于6
3. i*=i; i等于36
4. (6, 36)返回36
5. i = (36, i- 10, i%4);
6. 上面的逗号表达式返回最后一个式子的结果,也就是 36 % 4的结果 0,
7. 所以 i = 0;

网友(2):

你是不是少写了一个i

网友(3):

百度