C語言中賦值語句有什麼規則要求,c語言中規定 賦值運算子的左邊必須是什麼

時間 2021-06-30 03:29:56

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語言中,這個語句是什麼意思啊?

自我程式設計 這叫遞迴函式 自己呼叫自己 遞迴只有執行到呼叫自己的地方,就會進入下一層。一層一層巢狀,直到某一層不再執行呼叫 對應這題就是n 1不成立的那一層 然後,從最後一層往前返回。執行流程如下 1 執行sum fun a 2,4 這裡把a首地址往後偏移2位的陣列傳入 既3,4,5.的陣列 所以...

c語言中語句太長用什麼換行,C語言中一個語句太長用什麼換行

蟲心菜 1 區分不同情況,有多種方式可以採用。不管是哪種情況,都可以用 結尾作為換行標記,在編譯時,後面的換行符將被忽略,當做一行處理。比如巨集定義時使用 define my puts x printf s x 和寫作 define my puts x printf s x 是沒區別的。這裡的 必須...

為什麼要用for迴圈語句,c語言中為什麼需要for迴圈?其本義是不是我們需要執行很多次的語句而利用for迴圈只要寫兩個語句就好了?

姣俐夢 只要指定條件為 true 都執行語句塊.for initialization test increment statements 引數initialization 必選項.一個表示式.該表示式只在執行迴圈前被執行一次.test 必選項.一個 boolean 表示式.如果 test 是 tru...