| 5 | 1/1 | 返回列表 |
| 查看: 2335 | 回復(fù): 11 | |||
| 當(dāng)前只顯示滿足指定條件的回帖,點(diǎn)擊這里查看本話題的所有回帖 | |||
時(shí)飛銀蟲 (小有名氣)
|
[求助]
c語言
|
||
|
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ì)說明一下?????謝謝!。 |
新蟲 (初入文壇)
|
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)一定為真,無需判斷k++==3,所以結(jié)果為2 3 3。 2.while語句后面的是空語句,什么也不做;循環(huán)停止的點(diǎn)是(y--)等于0的時(shí)候,在后面打印的時(shí)候,此時(shí)y的值已經(jīng)減1了,所以最終打印的值為-1。 3.樓主應(yīng)該能明白循環(huán)過程中只有當(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,但是由于語句沒有break語句,后面的語句還會(huì)繼續(xù)執(zhí)行,所以,在case 3:下的語句執(zhí)行為n=6+1=7。所以最終的結(jié)果為7. |
榮譽(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通用相同的語句相當(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 |

銅蟲 (初入文壇)
|
第一個(gè)程序:首先定義了三個(gè)有符號(hào)的整型變量分別為-i-j-k并進(jìn)行了初始化如i=1等,下一句是判斷語句,其中++j==3表示j先是加上1在與3進(jìn)行比較,若相等則此語句為真,k++==3則表示先將k與3進(jìn)行比較,若k等于3則此語句為真,而||是邏輯或運(yùn)算符號(hào),只要符號(hào)兩邊的語句有一句是真則整條語句(++j==3||k++==3)為真,&&是邏輯與運(yùn)算符號(hào),只要符號(hào)兩邊有一個(gè)是假則整個(gè)語句為假,很顯然i++==1為真,而++j==3為真。即(++j==3||k++==3)為真,所以i++==1&&(++j==3||k++==3)為真,if語句是括號(hào)里面的語句為真的話,就執(zhí)行最近的下面語句(包括復(fù)合語句) 執(zhí)行printf();語句,此語句是用于輸出的功能,printf("%d%d\n",i,j,k,);表示輸出當(dāng)前i,j的值因?yàn)橹挥袃蓚(gè)%d,因而無法輸出此時(shí)i==1;j==3; |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 349求調(diào)劑 +6 | 杰斯塔里斯 2026-03-21 | 6/300 |
|
|---|---|---|---|---|
|
[考研] 0703化學(xué) +8 | 妮妮ninicgb 2026-03-27 | 8/400 |
|
|
[考研] 0856求調(diào)劑 +10 | zhn03 2026-03-25 | 11/550 |
|
|
[考研] 291求調(diào)劑 +15 | hhhhxn.. 2026-03-23 | 21/1050 |
|
|
[考研] 學(xué)碩274求調(diào)劑 +6 | Li李魚 2026-03-26 | 6/300 |
|
|
[考研] 321求調(diào)劑 +6 | 璞玉~~ 2026-03-25 | 6/300 |
|
|
[考研] 壓國家一區(qū)線,求導(dǎo)師收留,有恩必謝! +4 | 迷人的哈哈 2026-03-28 | 4/200 |
|
|
[考研] 0703化學(xué)求調(diào)劑,各位老師看看我!! +5 | 祁祺祺 2026-03-25 | 5/250 |
|
|
[考研] 086000調(diào)劑 +3 | 7901117076 2026-03-26 | 3/150 |
|
|
[考研] 285求調(diào)劑 +4 | AZMK 2026-03-27 | 7/350 |
|
|
[考研] 274求調(diào)劑 +17 | 顧九笙要謙虛 2026-03-24 | 23/1150 |
|
|
[考研] 0703化學(xué)一志愿南京師范大學(xué)303求調(diào)劑 +3 | zzffylgg 2026-03-24 | 3/150 |
|
|
[考研] 333求調(diào)劑 +6 | wfh030413@ 2026-03-23 | 6/300 |
|
|
[考研] 材料專碩 335 分求調(diào)劑 +4 | 拒絕冷暴力 2026-03-25 | 4/200 |
|
|
[考研] 【2026考研調(diào)劑】制藥工程 284分 求相關(guān)專業(yè)調(diào)劑名額 +4 | 袁奐奐 2026-03-25 | 8/400 |
|
|
[考研] 化工專碩求調(diào)劑 +3 | question挽風(fēng) 2026-03-24 | 3/150 |
|
|
[考研]
|
黃粱一夢(mèng)千年 2026-03-24 | 3/150 |
|
|
[考研] 環(huán)境學(xué)碩288求調(diào)劑 +8 | 皮皮皮123456 2026-03-22 | 8/400 |
|
|
[考研] 341求調(diào)劑(一志愿湖南大學(xué)070300) +5 | 番茄頭--- 2026-03-22 | 6/300 |
|
|
[考研] 接收2026碩士調(diào)劑(學(xué)碩+專碩) +4 | allen-yin 2026-03-23 | 6/300 |
|