1樓:匿名使用者
由於在賦值符“=”右邊的表示式也可以又是一個賦值表示式, 因此,下述形式 變數=(變數=表示式); 是成立的,從而形成巢狀的情形。 其之後的一般形式為:變數=變數=…=表示式;
例如: 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大於0則z=x。 下述語句是非法的:
if((x=y+5;)>0) z=x; 因為x=y+5;是語句,不能出現在表示式中。
2樓:匿名使用者
在賦值語句的使用中需要注意以下幾點:
由於在賦值符“=”右邊的表示式也可以又是一個賦值表示式, 因此,下述形式 變數=(變數=表示式); 是成立的,從而形成巢狀的情形。 其之後的一般形式為:變數=變數=…=表示式;
例如: a=b=c=d=e=5; 按照賦值運算子的右接合性,因此實際上等效於: e=5; d=e; c=d; b=c; a=b;
2. 注意在變數說明中給變數賦初值和賦值語句的區別。 給變數賦初值是變數說明的一部分,賦初值後的變數與其後的其它同類變數之間仍必須用逗號間隔,而賦值語句則必須用分號結尾。
例如: int a=5,b,c;
3. 在變數說明中,不允許連續給多個變數賦初值。 如下述說明是錯誤的: int a=b=c=5 必須寫為 int a=5,b=5,c=5; 而賦值語句允許連續賦值。
4. 注意賦值表示式和賦值語句的區別。 賦值表示式是一種表示式,它可以出現在任何允許表示式出現的地方,而賦值語句則不能。
下述語句是合法的: if((x=y+5)>0) z=x; 語句的功能是,若表示式x=y+5大於0則z=x。
下述語句是非法的: if((x=y+5;)>0) z=x; 因為x=y+5;是語句,不能出現在表示式中。
3樓:
型別上 要統一;結束用分號。
4樓:南坪中學校帥
可以進行連賦吧···
=操作符是右結合
a=b=c=5 就是
5賦值給c,c就等於5
c賦值給b,b就等於c,就等於5
下面同樣的道理···
5樓:
不能進行連賦,如: a=b=c=5 這樣是錯的
c語言中規定 賦值運算子的左邊必須是什麼?
6樓:smile灬微光丶
賦值運算子的左邊必bai須是變數。
簡單du賦值運zhi算符記為“=”,由“= ”連線的式dao子稱為賦值表專達式。其一
屬般形式為:
變數=表示式
例如:x=a+bw=sin(a)+sin(b)y=i+++--j
賦值表示式的功能是計算表示式的值再賦予左邊的變數。賦值運算子具有右結合性,因此a=b=c=5可理解為a=(b=(c=5))。
在其它高階語言中,賦值構成了一個語句,稱為賦值語句。 而在c中,把“=”定義為運算子,從而組成賦值表示式。 凡是表示式可以出現的地方均可出現賦值表示式。
例如:式子x=(a=5)+(b=8)是合法的。它的意義是把5賦予a,8賦予b,再把a,b相加,和賦予x,故x應等於13。
擴充套件資料
賦值運算子的作用是把右側表示式的值存入左側變數中,c語言中賦值操作是作為一種表示式來處理的。
賦值運算子(=)可以和算術運算子(+,-,*,/,%)及雙目運算子(&,|,^,>>,<<)組合成一個複合賦值運算子。但需要注意的是複合賦值運算子的兩個組成符號之間不能有空白字元。
7樓:fanfeng雙魚
須變數,不能是常量bai
。例如:int i=1;
dui就是一個變數。zhi
賦值操作符(=)用於對變數賦dao值,左邊必須是變數,右邊是可以當成數字使用的內容,賦值操作符的優先順序很低,但是比,優先順序高。
多個賦值操作符從右向左計算。
複合賦值操作符(+=,-=,*=,/=),其優先順序和賦值操作符的優先順序一樣。
swap.c
#include
int main()
8樓:匿名使用者
必須是變數名(如a=2),也可以是 *指標變數名(這相當於給指定的記憶體地址賦值,如*p=2)
c99或者c++還允許引用名寫在賦值號左邊
9樓:千鋒教育
左邊必須是變數,而且是跟所要賦的值型別相同。
10樓:匿名使用者
左邊必須是一個變數,型別可以不同。
兩邊的型別不同也可以賦值,強制轉型比如:
char s[20];
int x=(int)s
11樓:自由的風的我
賦值運算子左邊必須是一個變數,不可以是一個常量,也不可以是一個表示式,如a+b=c是非法的。
12樓:s如詩如夢
必須是變數
因為要賦值給左邊,所以左邊必須是一個可以儲存東西的單元
這是規定的,必須是變數
13樓:誰也整不了你
只有可修改的變數或者 ”運算結果是可修改的變數的表示式“才可以作為左值。
14樓:陳士晟
左邊不能是一個確定的數,比如“a=3“不能寫成“3=a“
15樓:剛慢打老虎
賦值運算子左側只能是變數,而不能是
常量或者表示式。右側可以是表示式包括賦回值表示式答。規定最左邊變數所得到的新值,就是整個賦值表示式的值,
如果賦值運算子的兩側型別不一致,在賦值前系統將自動先把右邊的表示式所求得的數值按賦值號左側變數的型別進行轉換,
就這麼多了,**不完全待修改還請指正。
16樓:匿名使用者
答:變數。
因為只有變數才有空間來存放運算的結果。表示式是不行的。
17樓:匿名使用者
賦值運算子的左側必須是變數
18樓:匿名使用者
以上答抄案都不對,請
bai參考權威:
actually, the left side must refer to a storage location. the ******st way is to use the name of a variable, but, as you will see later, a “dupointer” can be used to point
to a location.
以上內容來自zhi
《c primer plus (第六版)》dao
19樓:程式設計大亨
變數.能夠改變的值,不是在常量區的值.
20樓:匿名使用者
變數int a=2;
21樓:匿名使用者
運算子左邊必須是變數
22樓:hjc_臥龍待天
可以被賦值的變數名稱
c語言裡a b是什麼意思,C語言中語句a b 是什麼意思
首先你要明白什麼是表示式,還有變數。a是乙個變數。a a都是a加了1.比如a原來是1,執行了a 或 a後,a變數的值就是2了 至於a 和 a的區別主要是在表示式上的區別。a是先執行了a加1後,參與表示式的計算。a 是a先參與表示式的計算,後執行自加1.比如 int a,b a 1 如果你想把a的值1...
在C語言中ppp,在C語言中, p p p p 有什麼區別
我看書中解釋 p 是先取出 p的值,再使p加1 p是個指標,給p加1,相當於讓p指向了x所在位址的下乙個位置,而對於x則是沒有任何影響 p 是使 p的值加1.p則是p指向的位置對應的值,題目中是 q,所以此時的 q就是x的值,為3,當輸出 q之後,再給 q即x自加1,所以x就變為4 付費內容限時免費...
c語言中和有什麼區別,c語言中的break與Continue有什麼區別
c語言中 和 只在意義乙個方面有區別,具體如下 是關係運算子,而 是賦值運算子。其中c語言中的關係運算子還有 1 是不等於的意思。2 是小於的意思 3 是小於等於的意思。4 是大於的意思 5 是大於等於的意思。擴充套件資料 關係運算子都是雙目運算子,其結合性均為左結合。關係運算子的優先順序低於算術運...