做c C語言中結(jié)合性自右向左怎么理解?
C語言中結(jié)合性自右向左怎么理解?C語言賦值運(yùn)算符的結(jié)合方向是自右向左嗎?賦值操作符是從右向左的。以下面的代碼為例:int a=1,B=2,C=3A=B=cprintf(%D,%D,%Dn,a,B,C)
C語言中結(jié)合性自右向左怎么理解?
C語言賦值運(yùn)算符的結(jié)合方向是自右向左嗎?
賦值操作符是從右向左的。以下面的代碼為例:int a=1,B=2,C=3A=B=cprintf(%D,%D,%Dn,a,B,C)如果賦值操作是從左到右的,那么執(zhí)行順序是a=B=2B=C=3,結(jié)果是a=2,B=3,C=3。輸出2、3、3。如果賦值操作是從右向左的,那么執(zhí)行順序是b=C=3A=b=3,結(jié)果是a=3,b=3,C=3。輸出3,3,3通過實際操作,結(jié)果是3,3,3。說明組合的方向是從右向左。
C語言中的“右結(jié)合”是什么意思?
1. 關(guān)聯(lián)性是指當(dāng)幾個操作符具有相同的優(yōu)先級時,決定首先執(zhí)行哪個操作符。2右關(guān)聯(lián)性意味著表達(dá)式中最右邊的操作首先執(zhí)行,然后從右向左執(zhí)行。例如,下面的表達(dá)式:int a,B=1,C=2A=B=C,您想先執(zhí)行B=C還是先執(zhí)行a=B。如果我們按前者,a=結(jié)果是2,如果我們按后者,a的結(jié)果是1。這時,組合的功能就來了。所有賦值(包括復(fù)合賦值)都是右關(guān)聯(lián)的,即先執(zhí)行表達(dá)式中最右邊的運(yùn)算,然后從右向左執(zhí)行。最后一個a的值是2。
C語言中的,條件運(yùn)算符的結(jié)合方向是自右到左嗎?
條件運(yùn)算符的組合方向為“從左到右”是錯誤的。從右到左。C語言中運(yùn)算符的結(jié)合性可分為左結(jié)合性(從左到右)和右結(jié)合性(從右到左)。例如,算術(shù)運(yùn)算符的關(guān)聯(lián)性是從左到右,即從左到右。如果存在表達(dá)式X-Y Z,則Y應(yīng)與“-”組合以執(zhí)行X-Y運(yùn)算,然后執(zhí)行Z運(yùn)算。這種從左到右的組合方向稱為“左組合”。從右到左的組合方向稱為“右組合”。最典型的右聯(lián)想算子是賦值算子。例如,x=y=Z,由于“=”的正確組合,應(yīng)首先執(zhí)行y=Z,然后執(zhí)行x=(y=Z)。C語言中的許多運(yùn)算符是右聯(lián)想的。