單目運算符:只有一個操作數(shù)的運算符,如負號。相應(yīng)的運算符是雙目運算符(即需要兩個操作數(shù),如除法/,其中大多數(shù)是雙目運算符)和三元運算符(只有一個是?關(guān)聯(lián)性:當(dāng)操作數(shù)的左右兩側(cè)有一個運算符時,運算順序由運算符的優(yōu)先級決定。當(dāng)優(yōu)先級相同時,操作順序由關(guān)聯(lián)性決定。
條件運算符的組合方向為“從左到右”是錯誤的。從右到左。C語言中運算符的結(jié)合性可分為左結(jié)合性(從左到右)和右結(jié)合性(從右到左)。例如,算術(shù)運算符的關(guān)聯(lián)性是從左到右,即從左到右。如果存在表達式X-YZ,則Y應(yīng)與“-”組合以執(zhí)行X-Y運算,然后執(zhí)行Z運算。這種從左到右的組合方向稱為“左組合”。從右到左的組合方向稱為“右組合”。最典型的右聯(lián)想算子是賦值算子。例如,x=y=Z,由于“=”的正確組合,應(yīng)首先執(zhí)行y=Z,然后執(zhí)行x=(y=Z)。C語言中的許多運算符是右聯(lián)想的。
C語言中的,條件運算符的結(jié)合方向是自右到左嗎?C語言中結(jié)合性自右向左怎么理解?左組合可以通過編程驗證,如inta=3,b=3,C=1printf(\%d”,a==b==C)如果是左組合,先計算a==B,即3==3為真,值為1,再計算1==C,即1==1,輸出值為1。如果是正確的組合,首先計算B==C,3==1,值為0,然后計算a==0,3==0,輸出值為0。記住計算機是解決問題的最好方法。