c語言題a b c 5 這個賦值語句為什麼不合法

時間 2021-05-07 19:59:44

1樓:皮潔仙璧

a++是一個表示式,且並不是變數。

a++僅存在一個臨時空間用於儲存表示式的運算結果,該臨時空間並不能被修改,故其不能作為賦值型別運算子的左值。如(a+b)=c是不合法的表示式,因為(a+b)只有運算結果而不能被賦值,故不能作為賦值符號的左值

2樓:牛牛牛不牛

這個語句的意思是將 5賦值給 b+c然後將結果賦值給a

b+c是一個 左值,可以理解為一個常量,當然不能對其進行賦值操作

3樓:匿名使用者

1、賦值一般形式為:變數=表示式,例如a=5。

2、變數=(變數=表示式),a=(c=5)也是合理的,即先執行c=5,再執行a=c;

3、變數=變數=…=表示式;例如:a=b=c=d=e=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;是語句,不能出現在表示式中。

你題目中的 b+c 就是表示式

4樓:匿名使用者

因為賦值號的左邊一定是一個變數,而不能是常量或表示式!

c語言 簡單題,C語言 簡單題

按照您的意思修改完畢 include stdafx.h include include include string.h void nzp char a,char b void main a 0改為 a 0 scanf c a i 改為scanf c a i nzp a i 改為nzp a i b ...

c語言的基礎題,c語言題基礎題?

1,m m 1,實現m自加1 2,c語言不允許對陣列的大小作動態定義,即陣列的小不依賴於程式執行過程中的變數的值。3,分兩種情況 第一種有參函式的宣告 型別標示符 函式名 形式參數列列 第二種 無參函式的宣告 型別標示符 函式名 4,一維的不能省略,二維的可以省略第一個下標。5,可以用for迴圈實現...

C語言程式設計題,C語言程式設計題

墨汁諾 long fun int k if i 2 return 1l return k fun k 1 或 include stdio.h main double h,c printf input h n scanf lf h c 5.0 9 h 32 printf c lf c 文庫精選 實驗一...