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語言賦值語句,C語言中賦值語句有什麼規則要求?
選ab中取模右邊不是整數 c中賦值號左側不是一個變數 d中第二個賦值號左側不是一個變數 吉祥二進位制 c語言中通過 運算子來實現賦值,有時候也用它來進行初始化,在c語言中初始化和賦值是完全兩個不同的概念。比如下面的 int a 10 這是初始化a 0 10 這是賦值 初始化是一個順序點,編譯器保證每...
c語言中賦值語句的語法是怎樣的,C語言中賦值語句的語法是怎樣的
小夏在深圳 賦值的語法規則就是 資料型別 變數名 表示式 表示式可以理解為一個值或一個計算公式就行,表示式加一個英文符號分號就是語句。例如 我們今天要用到的,我買了幾斤蘋果。就可以這樣寫 方式一 方式二 擴充套件資料1 c語言中,賦值運算的操作是有方向的,即將右側表示式的值 也稱為右值 賦值左側的變...
C語言中的這個賦值語句是什麼意思
風若遠去何人留 將str的第一個和第二個字元賦值成 0x 同時p指向第三個字元。即等效於 str 0 0 str 1 x p str 2 滄海雄風 原字串為 abc 指標賦值為 0xc 指標所在位置 c press any key to continue 這個看了就明白了 include stdio...