printf("%d/n"#include ",z;%d/n"stdio.h"
main()
{
int i;
i=2;
z=(++i)+(++i)+(++i);n";n%d/,(++i)+(++i)+(++i)),i);
printf("
printf("/,z);
}
结果为
C语言中的加加
答案:4 悬赏:40 手机版
解决时间 2021-04-13 07:06
- 提问者网友:棒棒糖
- 2021-04-12 10:07
最佳答案
- 五星知识达人网友:酒者煙囻
- 2021-04-12 11:25
不要在一个表达式中对同一个变量进行多次诸如i++或++i等运算,这种表达式不仅可读性差,而且不同的编译系统对这样的表达式将做不同的解释,进行不同的处理,因而所得结果也各不相同。
如在“c与c++程序设计与学习系统”的答案是:5
22
13
如在“c与c++程序设计与学习系统”的答案是:5
22
13
全部回答
- 1楼网友:孤独的牧羊人
- 2021-04-12 15:51
我的是 5,22,13,多了1,不明白。
- 2楼网友:愁杀梦里人
- 2021-04-12 14:12
帮你编译运行了一下 我的结果是 5 22 13 ;5很显然,第二个应该是6+7+8=21,但是编译时又把两个表达式之间的+号视为++,即21++=22,z=3+4+5=13;
- 3楼网友:一叶十三刺
- 2021-04-12 12:46
因为本来
i = 2;
z = (++i) + (++i) + (++i);
即 z = 3 + 4 + 5=15
所以 printf("%d/n",z);
输出 z 的值变15了!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯