定义int i=1,在执行while(i++<5)后,i的值为?为什么呢

如题所述

值为6。

计算过程如下:

1、把i++赋值给x;

2、x=1;i=i+1=2;

3、i++ 这个操作是x=i;i=i+1;

4、执行while(i++<5),一次循环后 i=2;

5、所以当i=5的时候就跳出循环 然后再++ 就变成5 + 1 = 6 了;

扩展资料:

1、优先级与求值顺序无关。如a+b && b*c,虽然*优先级最高,但这个表达式求值顺序是从左到右。

2、优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。

3、相同优先级中,按结合性进行结合。大多数运算符结合性是从左到右,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。

4、基本的优先级需要记住:指针最优,单目运算优于双目运算。如正负号。先算术运算,后移位运算,最后位运算。请特别注意:1 << 3 + 2 & 7等价于 (1 << (3 + 2))&7。逻辑运算最后结合。

扩展资料:百度百科-运算符优先级

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-13

很简单啊 执行玩while以后就是6了 为什么呢 因为while里面的条件是<5 所以当i=5的时候就跳出循环 然后再++ 就变成5 + 1 = 6 了  这个不需要深入思考代码的 只看条件就知道了

第2个回答  推荐于2017-12-16
a=i++;//把i++赋值给a
此时a=1;i=i+1=2;
i++ 这个操作是a=i;i=i+1
所以执行while(i++<5){这里的语句没有跟i相关的的话}执行一次循环后 i=2
执行到最後跳出循环i应该等於6本回答被提问者采纳
第3个回答  2014-01-12
不够,再写一点,while的下一个语句是什么?追问

没有了,就是这样问的

没有循环体

追答

那就应该是1

追问

额,可是答案是6

追答

不知道了

追问

好吧,

相似回答