下列程序的輸出結(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解析:本題考查自增運算符“++”、邏輯與運算符“&&”和邏輯或運算符“‖”。自增運算符“++”,出現(xiàn)在變量之前(如題中的++n),表示先使變量的值加1,再使用變量的值進(jìn)行運算;出現(xiàn)在變量之后(如題中的n++),表示先使用變量的值進(jìn)行運算,再使變量的值加1。當(dāng)邏輯與運算符"&&"兩邊的運算對象都為真時,邏輯表達(dá)式的值才為真;當(dāng)邏輯或運算符"‖"左邊的運算對象為真時,其值就為真,不用計算其右邊的運算對象的值。所以根據(jù)運算符的優(yōu)先級,題中應(yīng)先計算內(nèi)層括號中的值。++j是
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。