[讨论]这个结果是多少?
main(){ int i=3;
int H=(++i)+(++i)+(++i);
printf("%d",H);
}
不同的机器,不同的结果...郁闷
搜索更多相关的解决方案:
结果
----------------解决方案--------------------------------------------------------
12
----------------解决方案--------------------------------------------------------
不对,应该是15吧,感觉。但又觉得是16
可是居然用tc出来是18!
----------------解决方案--------------------------------------------------------
果然强。我在不同的机上运行.答案果然不同。我自己的机是18.同学的是16.我自己答案应该是15. i进来的时候就自加了.也就是 4 然后再自加就是5 再来一次 就是 6 也就是4+5+6....答案应该是15才对.但是他上机得出来的答案偏偏是不同。我晕到。我用断点调试过.i 最后的值是 6 也就是说我的思路应该没错。但是为什么不同的机结果不同我就不知道了。我的是vc++.net 同学的是vc6.0.....那位兄弟有turbo c的软件。那里运行的结果应该没错的
----------------解决方案--------------------------------------------------------
你加我QQ吧 421904726 我现在先去睡觉.实在太累了。我QQ天天隐身在线的。想找我就留言吧.我们以后交流交流
----------------解决方案--------------------------------------------------------
答案是18.没错。他是全部先加完在来算的.也就是 6+6+6 这个是符号优先级问题。我们群讨论出来的结果。哈哈 7976395
----------------解决方案--------------------------------------------------------
又来了,关于这个问题不用再讨论了,没有意义,这和不同的编译器有关!!!
你会这样写程序么??
如果会的话,那你就接着想吧!!
----------------解决方案--------------------------------------------------------
大家计论得很热烈,这个问题很有特点主要是与C语言自身的特点有关回去查一下书本就可以了
----------------解决方案--------------------------------------------------------
天使大哥不好意思,这也是别人问我的,觉得好玩贴上来的。普通编程情况下,++这种情况不会出现在同一行吧,大家也不会这样写啦,呵呵。
----------------解决方案--------------------------------------------------------
用中间值就=15的啊
分开计也是4,5,6
----------------解决方案--------------------------------------------------------