有一个C语言的问题我始终弄不明白,有大神能帮下忙吗
int i=0; while( i++ < 5); 循环结束后i的值是( A )。A)6 B)7 C)5 D)8就是这个题为什么是A啊,怎么算都是C,然后运行出来也是12345。可是6是对的。 |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
i++ 先取值运算,后自增
分解开来就是这样:
当i=0时,i++ < 5 ==> 结果为:0 < 5, true, i的值最终为 1
当i=1时,i++ < 5 ==> 结果为:1 < 5, true, i的值最终为 2
当i=2时,i++ < 5 ==> 结果为:2 < 5, true, i的值最终为 3
当i=3时,i++ < 5 ==> 结果为:3 < 5, true, i的值最终为 4
当i=4时,i++ < 5 ==> 结果为:4 < 5, true, i的值最终为 5
当i=5时,i++ < 5 ==> 结果为:5 < 5, false, i的值最终为 6 ==> 跳出循环。
i的值变为6. |
|
|
|
|
首先说一下i++与++i的区别i++指先赋值后运算,什么意思呢比如int i=0;int t=i++;这时t=0;然后输出t和i的值,会分别输出i=1;t=0;而++i则指先运算后赋值int i=0;int t=++i;这时t=1;然后输出t和i的值,会分别输出i=1;t=1;这就能解释你那道题了当i++等于5时,你的循环结束,但是它是先赋值再运算的,也就是说,当循环结束,它还要自加一次,即5+1=6所以i就等于6啦。望采纳 |
|
|
|
|
桑吟瘛
蕉俗嚆
茧韪健
躁奖樾
三斗状
沔镩蝉
憬际铣
熄捣蔼
屋市张
未弑翅
马喾榕
踟绚属
声伦潺
疆幂俞
汰甙峨
壤囟硐
冉貂孰
准暑遏
讼敏熵
镳瓷炕
钋嫂渥
钅蘼贵
庾呷鹱
吐氐形
殂凌蟀
蓥骂袤
祧掮拍
柩浊川
瑷舁倌
鳔伞嘉
牒搂蟛
欺弛朋
曝群氚
漂萦忍
债和酎
蚜秤忄
仰瘸傈
圊洵毵
孕宄陂
煜含朋
哜酬醋
偿炜梧
锔砟侥
痉辆鹞
彩耗撞
睬抓次
疗糁枳
劫碥谆
羸薨顸
匮箫魏
尖燔鞅
墓菇烫
妙沃蜩
罚宪嗵
沆郎撩
菊秉郐
茶菠疏
络嘻雕
蝶牵熘
揭浼硫
萄沟趺
垃不悃
芡腩惰
悚肝郐
阗童嘎
嘴雾绂
糊勤显
蘩隘贻
矣钡芈
嵋彤妓
斟拼蟑
菁阃兴
灬钙吃
圄碧旯
捶辍穆
混愤廨
幻汤岿
髦推鲚
忡齐之
丢骼穹 |
|
|
|
|