c語言賦值語句規則?
由于在賦值符“=”右邊的表達式也可以又是一個賦值表達式, 因此,下述形式 變量=(變量=表達式); 是成立的,從而形成 嵌套的情形。 其展開之后的一般形式為:變量=變量=…=表達式; 例如: a=b=c=d=e=5; 按照賦值運算符的右接合性,因此實際上等效于: e=5; d=e; c=d; b=c; a=b;
注意在變量==說明==中給變量賦初值和賦值語句的區別。 給變量賦初值是變量說明的一部分,賦初值后的變量與其后的其它同類變量之間仍必須用逗號間隔,而賦值語句則必須用分號結尾。 例如: int a=5,b,c;
在變量說明中,不允許連續給多個變量賦初值。 如下述說明是錯誤的: int a=b=c=5 必須寫為 int a=5,b=5,c=5; 而賦值語句允許連續賦值。
注意賦值表達式和賦值語句的區別。 賦值表達式是一種表達式,它可以出現在任何允許表達式出現的地方,而賦值語句則不能。
下述語句是合法的:
if((x=y+5)>0) z=x;
這里(x=y+5)是賦值表達式,語句的功能是,若表達式x=y+5大于0則z=x。
下一篇C語言要不要學