i=3; printf("%d %d", ++i, i++); printf("%d", i);

i=3;printf("%d %d", ++i, i++);printf("%d", i);请分析程序输出
2024年12月05日 01:09
有4个网友回答
网友(1):

这题其实和求值顺序有关,c语言并没有规定运算顺序,有的系统是从右至左运算,例如windows。有的是从左至右运算。
所以,如果从右至左运算的话,输出为
535
如果从左至右运算的话
输出为445

网友(2):

++i,先做++,i=4,输出
i++,先输出,i=4,再++,i=5
最后输出:445

网友(3):

355

网友(4):

5 35
有什么问题吗?