0
這兩行語句如何不同?冒號如果語句差異
a<=20? b=30: c= 30;
(a<=20)?b:c = 30;
如果我給的= 20的值然後
第一行給出了B = 20,C = 0 第二行給出了B = 0,C = 0
未分配問題。
這兩行語句如何不同?冒號如果語句差異
a<=20? b=30: c= 30;
(a<=20)?b:c = 30;
如果我給的= 20的值然後
第一行給出了B = 20,C = 0 第二行給出了B = 0,C = 0
未分配問題。
據ternary conditional operator規則,
a<=20? b=30: c= 30;
是相同:
if (a <= 20) {
b = 30;
} else {
c = 30;
}
和(a<=20)?b:c = 30;
是相同:
if (a <= 20) {
b;
} else {
c = 30;
}
所以情況#1和病例#之間的差值2是b
是否在條件爲true
時設置。
運算符優先級:
這樣的:
(a<=20)?b:c = 30;
被解釋爲:
(a<=20) ? (b) : (c=30) ;
你可能想
((a<=20)?b:c) = 30;
這是一個*轉讓*問題;你不*賦值給'b';) – ChiefTwoPencils
這很好。初始化b –