下列程序的運(yùn)行結(jié)果是#include"stdio.h"main(){intx=-9,y=5,z=8;if(x<y)if(y<0)z=0;else z
下列程序的運(yùn)行結(jié)果是 #include"stdio.h" main() { intx=-9,y=5,z=8; if(x<y) if(y<0)z=0; else z+=1; printf("%d\n",z);}
A.6
B.7
C.8
D.9
正確答案:D解析: if…else語(yǔ)句的執(zhí)行過程如下,首先計(jì)算if后面一對(duì)圓括號(hào)內(nèi)表達(dá)式的值,若表達(dá)式的值為非0,執(zhí)行if子句,然后跳過else子句,去執(zhí)行if語(yǔ)句后的下一條語(yǔ)句;若表達(dá)式的值為0,跳過if子句,去執(zhí)行else子句,接著去執(zhí)行if語(yǔ)句后的下一條語(yǔ)句。C語(yǔ)言的語(yǔ)法規(guī)定,else子句總是與前面最近的不帶else的if匹配,與書寫格式無(wú)關(guān),本題目的后一個(gè)if-else相當(dāng)于嵌套在第一個(gè)if子句里,相當(dāng)于xy&&y0時(shí),z=0;當(dāng)xy&&y>=0時(shí),z=2+1。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。