c語言中,是如何賦值的abc1為什麼是錯的

2021-03-03 23:32:47 字數 2631 閱讀 5585

1樓:剛哥不會文明

賦值端左面只能是乙個儲存資料的符號。。你這裡1賦值給b+c,這是不行的。b+c不是乙個儲存資料的符號。

我建議你買本清華大學c++版的工具書,譚浩強出的。。那本書裡比較詳細。

2樓:上虞潘永傑

在c語言中只能給變數賦值,不能給表示式賦值,你這個式子的運算順序是從右到左,1是不能賦值給表示式b+c的

3樓:匿名使用者

a=7+b+c=a+7; //不符合,因來為7是const也就是源常量型別,不可以bai對其賦du值,zhi7+b+c含有常量,對其賦值也是錯誤的

daoc=7+b++=a+7; //同上

a=a+7;//可以

---------------------------------------

b++=7是可以運算的,先賦值b=7,再加1

4樓:蛇的獨孤

因為賦值是賦值給變數的,而b+c不是變數......a=b+c是對的,但是b+c=1是錯誤的

5樓:匿名使用者

vb中賦值的話,應該是"變數=值"的形式,只能是"a=1"

c語言中,abcd均賦值1, a=b,b=c,c=d,d=1這樣賦值為什麼是錯誤的?

6樓:匿名使用者

等號右邊不能是變數 他的執行順序是

a=b,b=c,c=d,d=1

應該反過來

d=1,c=d,b=c,a=b就對了

7樓:匿名使用者

這個賦值的運算順序是錯誤的,應該先給d賦初,然後再相應地給c,b,a賦值

c語言新手求教幾個問題: 1、a=a+7=c+b為什麼語法錯誤?

8樓:龔煒林

你好!1、等號是賦值運算,這就意味著等號左邊必須是被賦值的變數,顯然a+7是表示式,而不是變數。

2、整形運算是只取整數部分的,你定義的c1,c2,c3均是整數,所以;c3=1.0/c2*c1;進行的是整形運算,那麼只取整數部分就是0.

3、注意:在浮點型與整形等混合運算時,系統會將所有型別的資料轉化成double型的來運算,然後把結果再根據需要賦給響應變數。

對於你的表示式,c是float的,所以最後結果是要被轉化成float賦值給c。

4、逗號運算子,又稱順序求值運算子,但是要區分這個順序,這裡的順序指的是表示式,逗號運算子使用形式是:表示式1,表示式2,......

這就是說逗號隔開的是表示式,那麼對於i=(a=2*3,a*5),a+6;就可以理解了:i=(a=2*3,a*5)是乙個表示式,a+6是另外乙個表示式。

9樓:匿名使用者

一、賦值號左邊必然是變數, a+7=c+b是錯誤的。等號是賦值運算,這就意味著等號左邊必須是被賦值的變數,顯然a+7是表示式,而不是變數。

二、賦值語句是由賦值表示式再加上分號構成的表示式語句。

其一般形式為: 變數=表示式;

在賦值語句的使用中需要注意以下幾點:

1. 由於在賦值符「=」右邊的表示式也可以又是乙個賦值表示式, 因此,下述形式 變數=(變數=表示式); 是成立的,從而形成巢狀的情形。 其之後的一般形式為:變數=變數=...=表示式;

例如: 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;是語句,不能出現在表示式中。

10樓:校花丶窼頿齔

這個式子會從右到左依次賦值

c語言中a=b,意思是說把b賦值給a,還是說把b裡面的值賦值給a?

11樓:墨汁諾

當a和b為普通變數時, a=b,是把b的值賦值給a, b不變;

當a和b為指標時, a=b, 是把b的指向回賦值給答a, 讓a也可以指向b的指向,b的指向不變;

比如 a=1 b=2 c=3,把b賦值給a 就是 a=b 因為b是等於2的 現在 a=b=2。

把b值賦給a指的是把b的值代入a裡,打個比方,a=b,而b=100,那麼,在這個式子中,把b值賦給a就指的是a=b=100,也就是a=100。

12樓:姚老頭兒

把b裡面的值賦值給a,更準確!一般嫌麻煩簡單的說:b賦值給a,同時b還是原來的值,a改變了!

13樓:獵人的背後

是說把b賦值給a

但是b還是原來的值

C語言中,085為,c語言中負數如何表示

printf函式輸出strlen 函式執行的結果,strlen 計算字串 t 065 xff n 的字元個數,該字串中有5個元素,所以會輸出5,5個元素分別是 1 t 換碼符 t 表示水平製表位 horizeontal tab 2 雙引號 3 065 字元 後面的數字065是三個八進位制數,它是數字...

c語言如何給指標引數賦值為null

用指標的引用即可.例如 int memnull int m 在另乙個函式裡呼叫它 int a memnull a memnull執行完之後a的位址就被修改為null了.或者可以用指標的指標 intmemalloc int param 呼叫的時候這樣呼叫 int a memnull a 這樣memnu...

c語言整型數賦值給浮點型的問題,c語言中將乙個浮點型賦值給整型時,會不會四捨五入?

b a 2 是這麼計算的 a是整型變數,2也是,因此計算被當成整型計算,得到整型結果0,然後發內現b是float型的,再將整容型結果0進行資料型別轉換賦值給b。因此應當將a 2算式中分子或分母轉換成float型就能正確計算了,比如 b float a 2 或b a 2.0 或b a b 2 c語言中...