C语言中,i=5;j=(++i)+(++i)+(++i);要最后i和j的结果,要详细过程,谢谢
答案:5 悬赏:30 手机版
解决时间 2021-08-21 00:02
- 提问者网友:低吟詩仙的傷
- 2021-08-20 13:16
C语言中,i=5;j=(++i)+(++i)+(++i);
最佳答案
- 五星知识达人网友:傲气稳了全场
- 2021-08-20 13:24
i = 8
j = 24
解释一下
++i 意思是先把 i + 1, 然后再执行其他操作
这个里面先是 int i = 5;
然后是 int j = (++i) + (++i) + (++i);
int j = (++i) + (++i) + (++i);执行过程是
先依次执行三个 ++i
开始 i = 5
先执行第一个 ++i , 这个时候i的数值就是6
那么式子就变成 j = 6 + (++i) + (++i)
再执行第二个 (++i), 这个时候i的数值就是在刚才的6基础上+1就=7
式子为 j = 6 + 7 + (++i)
还是如此, 第三个就是8
式子就是 j = 6 + 7 + 8 = 24
而结束的时候i就是8
全部回答
- 1楼网友:思契十里
- 2021-08-20 15:52
这个问题,根据编译器不同,得到的值不同! 这是C语言中歧义问题吧!
- 2楼网友:旧脸谱
- 2021-08-20 14:54
i=8, j=22
执行第一个(++i)后;i就为6了,第二个就为7了,第三个就为8了,所以i=8;
j为什么会是22我也不清楚,
我觉得应该是21啊
- 3楼网友:低音帝王
- 2021-08-20 14:47
j=(++i)+(++i)=(++i)
先算括号里的
(++i)表示i=i+1;i就=6了
i=6在++i,i就等于7了,
i=7在++i,i就等于8了,
所以
j=6+7+8
- 4楼网友:舍身薄凉客
- 2021-08-20 13:40
j= (++i)+(++i)+(++i);
i=5
(++i)+(++i)+(++i) >>>>(++i)<i=6>+(++i)<i=6>+(++i)<i=6>第一个i++
(i)<i=7>+(++i)<i=7>+(++i)<i=7>第二个i++
(i)<i=8>+(i)<i=8>+(++i)<i=8>第三个i++
所以j最后的值就是24,I的是8
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯