斗鱼直播是谁旗下的:程序设计趣题

来源:百度文库 编辑:高考问答 时间:2024/04/27 14:25:56
i=1
i=(++i)+(++i)+(++i)
i等于多少?
!!强人给我讲下为什么
哦~~~~一个很强的同学说这个题的正确答案是10
还是很不明白
大家再加加油??
啊~~~~~~~~~疯了
好象确实是什么结果都合理
大家投票吧

++i是先使i增一,再返回一个值i
(其实不同的编译器执行顺序不同的,但是这句话左右对称,结果相同,以下以从左到右为例)
首先拆一下
j=(++i)+(++i)+(++i);
i=j;
再看第一句的执行过程
首先是第一个(++i),首先i增一成2,返回2
第二个,i增一成3,返回3
第三个,i增一成4,返回4
之后j=2+3+4=9,i=9最终

这个问题可能有不少的答案,根据不同语言或者同语言不同系统下的编译器是会得到不同的答案的。

与你的编译器相关,Borland与MS的编译器将得到不同的答案

正确的i=9!!!
不是10!!!

i=9

我用touber c调试结果为什么等与12呢?