| 5 | 1/1 | 返回列表 |
| 查看: 2334 | 回復(fù): 11 | |||
| 當(dāng)前只顯示滿足指定條件的回帖,點(diǎn)擊這里查看本話題的所有回帖 | |||
時(shí)飛銀蟲 (小有名氣)
|
[求助]
c語(yǔ)言
|
||
|
1、main() {int i=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf("%d%d\n",i,j,k,); } 2、mian() {int y=10; while(y--);printf("y=%d\n",y); } 3、main() {int k=5,n=0; while(k>0) {switch(k) {default:break; case 1: n+=k; case 2: case 3:n+=k; }k--; }printf("%d\n",n); } 哪位大俠把這三個(gè)程序如何運(yùn)行詳細(xì)說(shuō)明一下?????謝謝。! |
銀蟲 (小有名氣)
|
1.#inculd main() {int x=8; for(;x>0;x--) {if(x%3) {printf("%d,',x--);continue;} printf("%d,",--x); } } 該程序如何運(yùn)行?每一個(gè)怎么出來(lái)的? 答案8,5,4,2 2.n=10;while(n);{n--;} 這個(gè)能構(gòu)成無(wú)限循環(huán)嗎?該在N=0時(shí)結(jié)束啊。。答案卻不是 。。為什么 3.for(i=0;i<4;i++) for(k=1;k<3;k++); printf("*"; 我認(rèn)為該輸出8個(gè)* 答案只有一個(gè)* 為什么??? 4.#inculd main() {char s[]={"012xy"};int i, n=0; for(i=0;s!=0;i++) \*我認(rèn)為i=0時(shí)就該結(jié)束了*\ if(s>'a'&&s<='z')n++; printf("%d\n",n); } 答案:2 為啥???? 請(qǐng)幫忙解決一下,當(dāng)然越詳細(xì)越好。。! 謝謝。! |
榮譽(yù)版主 (文壇精英)
珊瑚小美-----小元家的九妹
|
1、main() {int i=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf("%d%d\n",i,j,k,); } 解釋:i++后加所以先運(yùn)算在相加即i==1成立返回1,i+1=2 ++j前加,先加為3,3==3返回1,因?yàn)榛蛴?則為1所以后面不用運(yùn)算即K=3 所以結(jié)果2,3,3 2.2、mian() {int y=10; while(y--);printf("y=%d\n",y); } 循環(huán)結(jié)構(gòu)但是循環(huán)什么都不做,循環(huán)結(jié)束后輸出y的值,但因?yàn)槭呛?-所以可不可以這樣理解y==1,y--.當(dāng)y==1時(shí),依舊成立,y=0,0==1不成立,但是y--還要進(jìn)行,y=-1 3.main() {int k=5,n=0; while(k>0) {switch(k) {default:break; case 1: n+=k; case 2: case 3:n+=k; }k--; }printf("%d\n",n); } 這個(gè)是多條case通用相同的語(yǔ)句相當(dāng)于下面的: main() {int k=5,n=0; while(k>0) {switch(k) {default:break; case 1: n+=k; case 2:n+=k; case 3:n+=k; }k--; }printf("%d\n",n); } 所以最后3+2+1=7n=7 |

新蟲 (初入文壇)
|
1.&&和||運(yùn)算符都是短路判斷:&&左邊的表達(dá)式為假的情況下不會(huì)判斷右邊的表達(dá)式,||左邊的表達(dá)式為真的情況下不會(huì)判斷右邊的表達(dá)式。i++==1:后綴運(yùn)算符使得i先進(jìn)行判斷再加1,此時(shí)為真;然后進(jìn)行判斷(++j==3||k++==3):前綴表達(dá)式使j先加1再使用它的值進(jìn)行判斷,此時(shí)++j==3為真,那么表達(dá)式(++j==3||k++==3)一定為真,無(wú)需判斷k++==3,所以結(jié)果為2 3 3。 2.while語(yǔ)句后面的是空語(yǔ)句,什么也不做;循環(huán)停止的點(diǎn)是(y--)等于0的時(shí)候,在后面打印的時(shí)候,此時(shí)y的值已經(jīng)減1了,所以最終打印的值為-1。 3.樓主應(yīng)該能明白循環(huán)過(guò)程中只有當(dāng)k等于3、2和1的時(shí)候會(huì)改變n的值:當(dāng)k=3的時(shí)候,n=0+3=3;k=2時(shí),n=3+2=5;注意當(dāng)k=1時(shí),此時(shí)n改變兩次,在case 1:處,n=5+1=6,但是由于語(yǔ)句沒有break語(yǔ)句,后面的語(yǔ)句還會(huì)繼續(xù)執(zhí)行,所以,在case 3:下的語(yǔ)句執(zhí)行為n=6+1=7。所以最終的結(jié)果為7. |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 考研調(diào)劑 +4 | 呼呼?~+123456 2026-03-21 | 4/200 |
|
|---|---|---|---|---|
|
[考研] 081200-314 +3 | LILIQQ 2026-03-27 | 4/200 |
|
|
[考研] 083000學(xué)碩274求調(diào)劑 +7 | Li李魚 2026-03-26 | 7/350 |
|
|
[考研] 311求調(diào)劑 +8 | lin0039 2026-03-26 | 8/400 |
|
|
[考研] 265求調(diào)劑 +8 | 小木蟲085600 2026-03-27 | 8/400 |
|
|
[考研] 285求調(diào)劑 +4 | AZMK 2026-03-27 | 7/350 |
|
|
[考博] 26申博 +3 | 加油沖! 2026-03-26 | 3/150 |
|
|
[考研] 308求調(diào)劑 +7 | 墨墨漠 2026-03-25 | 7/350 |
|
|
[考研] 一志愿太原理工安全工程300分,求調(diào)劑 +4 | 0857求調(diào)劑. 2026-03-24 | 4/200 |
|
|
[考研] 材料求調(diào)劑 +8 | @taotao 2026-03-21 | 8/400 |
|
|
[考研] 一志愿鄭大085600,310分求調(diào)劑 +5 | 李瀟可 2026-03-26 | 5/250 |
|
|
[考研] 0703化學(xué)一志愿南京師范大學(xué)303求調(diào)劑 +3 | zzffylgg 2026-03-24 | 3/150 |
|
|
[考研] 349求調(diào)劑 +4 | 李木子啊哈哈 2026-03-25 | 4/200 |
|
|
[考研] 329求調(diào)劑 +5 | 1() 2026-03-22 | 5/250 |
|
|
[考研] 085600 材料與化工 329分求調(diào)劑 +9 | Mr. Z 2026-03-25 | 9/450 |
|
|
[考研] 打過(guò)很多競(jìng)賽,085406控制工程300分,求調(diào)劑 +3 | askeladz 2026-03-26 | 3/150 |
|
|
[考研] 機(jī)械學(xué)碩總分317求調(diào)劑。。! +4 | Acaciad 2026-03-25 | 4/200 |
|
|
[考研] 282求調(diào)劑 +3 | wcq131415 2026-03-24 | 3/150 |
|
|
[考研] 318求調(diào)劑 +5 | plum李子 2026-03-21 | 8/400 |
|
|
[考研] 285求調(diào)劑 +6 | ytter 2026-03-22 | 6/300 |
|