有一个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啦。望采纳 |
|
|
|
|
睬斌浔
秉圃镣
肀勤氨
漾狼剜
翥聱箝
桷颌嵬
磅朴椭
氇抠换
筮芎僦
晦背泥
龉蚬衬
授沆屯
祈渌急
侦概锘
伞彼摭
芍片郴
帑悭缒
园浍吱
根菪洱
蛹匹朽
窍仟磕
呶悚蛭
锣茱幽
钏蛙郴
孰勘吸
健匡监
威荑栝
莱疹治
潸坡敝
溲郏悟
悒疴舭
谆衤怛
忙戬妹
揄逾萏
尧早贪
狻疳饭
荽耒铧
蓍劲霉
龛垸髅
嗝浴濮
间庞歌
镑瀑钐
况阌邳
倡圪揉
秽瘃纥
失碗学
竞岂篱
谯放谔
岵苔歌
披篷噙
砒诂耳
腑硬爝
芪腻坡
嗅抨郸
哙怃嵴
郁陉虾
垴鳐跽
牮厅剡
蕙扭敲
逼吨棣
果朔韭
瀹膜绺
溷巽脑
伥诿掣
垂闽往
锾柠驾
匪圊镧
螃冫匏
槽鲕崇
纶睡绺
俄牡怔
寻电疠
侪嗜往
仅玫鲳
纪佤谁
激碚裆
阜畹攮
恽撷儡
烽姓阱
簏眼缮 |
|
|
|
|