~c語言 在C語言賦值語句中,給多個變量賦值,用逗號隔開,豈不是相當(dāng)于一個逗號表達(dá)式?
在C語言賦值語句中,給多個變量賦值,用逗號隔開,豈不是相當(dāng)于一個逗號表達(dá)式?我不明白。逗號表達(dá)式是聲明變量的合法組合。多個有效的運算表達(dá)式用逗號分隔,而int a=1,B=2只能有一種解釋,即在聲明和
在C語言賦值語句中,給多個變量賦值,用逗號隔開,豈不是相當(dāng)于一個逗號表達(dá)式?
我不明白。逗號表達(dá)式是聲明變量的合法組合。多個有效的運算表達(dá)式用逗號分隔,而int a=1,B=2只能有一種解釋,即在聲明和初始化變量時,同一類型的多個變量可以用逗號分隔,寫在同一類型字符之后,最后用分號結(jié)束。對于上面的聲明,如果聲明一個int c,那么c=(a=1,B=2)在運算之后,c=2,因為(a=1,B=2)在最右邊的逗號之后取表達(dá)式的運算結(jié)果。所以,我認(rèn)為C=(a=1,B=2)中的(a=1,B=2)是逗號表達(dá)式,int a=1,B=2不是逗號表達(dá)式!事實上,所謂計算機(jī)語言的“語法”只是一些書寫規(guī)則。還有許多甚至是不靈活的,比如char*P和*Q。語法上說,*屬于char,但不屬于下面的變量。但是如果它被寫成char*P和Q,那么Q就不被認(rèn)為是指針。我們怎么能理解呢?否則,像char*P,W,x這樣的語句將被寫成兩行:char*PChar,W,x
用逗號分隔的句子不是完整的句子。
逗號是完整句子中間的停頓。
只有句號、感嘆號和問號代表完整的句子。