i的初值为3求(i++)+(i++)+(i++)中i的值

来源:百度知道 编辑:UC知道 时间:2024/06/03 06:56:32
系统按自左而右顺序求解

答案是 6
绝对不会有第二种答案 要是有的话那就绝对是错了的
你可以在 Turbo C 里进行实践操作
系统自左向右进行运算
i++ ++i 你只要看到了 就记住每一次在 i 的基础上加一
这个表达式里出现了三次 所以 i+3=6
题外话 至于表达式的值 是 9
希望我的答案能令你满意

#include<stdio.h>
void main()
{
int i=3,m;
m=(i++)+(i++)+(i++) ;
printf("%d %d\n",m,i);
}
m为表达式的值 依照这在那上面就可以运行

(i++)+(i++)+(i++)
= 3 + 4 + 5
= 12
i值 3 4 5 6

LZ好,对于第一个,的确是12,记住i++中i的变化是在本条语句执行完后才增加的
所以这里其实就是
j=3*3=9
然后i自加两次,i=5

第二个,我觉得你的答案有问题,j应该是16
++i的确是先运算了再取它的结果的,这样就变成i=4了,就是执行
j=4*4=16
然后i自加一次,i=5 13650希望对你有帮助!

放到tc编译器里 求解

这是c语言里的吧