在C语言中定义int i=1;执行语句while(i++<5)后i的值为6,为什么?

如题所述

while(i++<5);
++在后,先取i的值和5比较,然后i自动加1
当i=4时,执行4++<5,成立,i变成5
执行5++<5,不成立,你怎么知道不成立?因为运行了这个表达式,所以i将自动加1变成6
so,i的值最终为6
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-04-15
i++<5表示先取i的值和5比较,然后再执行++操作,所以,当i=5的时候不满足while条件而退出循环,然后还会执行一次++操作,所以i=6
第2个回答  2020-01-23
while(i++<5);
++在后,先取i的值和5比较,然后i自动加1
当i=4时,执行4++<5,成立,i变成5
执行5++<5,不成立,你怎么知道不成立?因为运行了这个表达式,所以i将自动加1变成6
so,i的值最终为6
第3个回答  2019-12-13
i++<5表示先取i的值和5比较,然后再执行++操作,所以,当i=5的时候不满足while条件而退出循环,然后还会执行一次++操作,所以i=6
第4个回答  2012-05-09
当i不满足条件时此时的i值是5,跳出循环时,又自增1
相似回答