賦值語句是由賦值表達式再加上分號構成的表達式語句。其一般形式為:
變量=表達式;
賦值語句的功能和特點都與賦值表達式相同。 它是程序中使用最多的語句之一。
在賦值語句的使用中需要注意以下幾點。
1) 由於在賦值符“=”右邊的表達式也可以又是一個賦值表達式。因此,下述形式
變量=(變量=表達式);
是成立的,從而形成嵌套的情形。
其展開之後的一般形式為:
變量=變量=…=表達式;
例如:
復制純文本新窗口
- a=b=c=d=e=5;
a=b=c=d=e=5;
按照賦值運算符的右接合性,因此實際上等效於:
e=5; d=e; c=d; b=c; a=b;
2) 注意在變量說明中給變量賦初值和賦值語句的區別。
給變量賦初值是變量說明的一部分,賦初值後的變量與其後的其它同類變量之間仍必須用逗號間隔,而賦值語句則必須用分號結尾。例如:
復制純文本新窗口
- int a=5,b,c;
int a=5,b,c;
3) 在變量說明中,不允許連續給多個變量賦初值。如下述說明是錯誤的:
復制純文本新窗口
- int a=b=c=5;
int a=b=c=5;
必須寫為
復制純文本新窗口
- int a=5,b=5,c=5;
int a=5,b=5,c=5;
而賦值語句允許連續賦值。
4) 注意賦值表達式和賦值語句的區別。
賦值表達式是一種表達式,它可以出現在任何允許表達式出現的地方,而賦值語句則不能。下述語句是合法的:
復制純文本新窗口
- if((x=y+5)>0) z=x;
if((x=y+5)>0) z=x;
語句的功能是,若表達式x=y+5大於0則z=x。
下述語句是非法的:
復制純文本新窗口
- if((x=y+5;)>0) z=x;
if((x=y+5;)>0) z=x;
因為x=y+5;是語句,不能出現在表達式中。