下列程序的輸出結(jié)果是()。 main() {int i=1,j=2,k=3; if(i++==1&&(++j=3‖k++==3))printf(
下列程序的輸出結(jié)果是( )。
main()
{int i=1,j=2,k=3;
if(i++==1&&(++j=3‖k++==3))printf("%d%d%d\n",i,j,k);
}
A.1 2 3
B.2 3 4
C.2 2 3
D.2 3 3
正確答案:D解析:本題考查自增運(yùn)算符“++”、邏輯與運(yùn)算符“&&”和邏輯或運(yùn)算符“‖”。自增運(yùn)算符“++”,出現(xiàn)在變量之前(如題中的++n),表示先使變量的值加1,再使用變量的值進(jìn)行運(yùn)算;出現(xiàn)在變量之后(如題中的n++),表示先使用變量的值進(jìn)行運(yùn)算,再使變量的值加1。當(dāng)邏輯與運(yùn)算符"&&"兩邊的運(yùn)算對(duì)象都為真時(shí),邏輯表達(dá)式的值才為真;當(dāng)邏輯或運(yùn)算符"‖"左邊的運(yùn)算對(duì)象為真時(shí),其值就為真,不用計(jì)算其右邊的運(yùn)算對(duì)象的值。所以根據(jù)運(yùn)算符的優(yōu)先級(jí),題中應(yīng)先計(jì)算內(nèi)層括號(hào)中的值。++j是
詞條內(nèi)容僅供參考,如果您需要解決具體問(wèn)題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢(xún)相關(guān)領(lǐng)域?qū)I(yè)人士。