本文目錄一覽:
- 1、符合C語言語法的賦值表達式是: A.a=9+b+c=d+9 B.a=(9+b, c=d+9) C.a=9+b, b++, c+9 D.a=9+b++=c+9
- 2、符合C語言語法的表達式
- 3、符合C語言語法的賦值表達式是: A.a=9+b+c=d+9 B.a=(9+b, c=d+9) C.a=9+b, b++, c+9 D.a=9+b++=c+9
符合C語言語法的賦值表達式是: A.a=9+b+c=d+9 B.a=(9+b, c=d+9) C.a=9+b, b++, c+9 D.a=9+b++=c+9
a=9+b, b++,這是個逗號表達式,先執行a=9+b,然後執行b++;
#includestdio.h
#includestring.h
void main()
{
int a,b=8;
a=b+9,b++;
printf(“%d,%d\n”,a,b);
}
這個語句是沒錯的。
符合C語言語法的表達式
B C
=左邊必須是左值(可以被賦值的值,也被稱作變量表達式,變量、數組表達式、指針表達式的值都是左值。但是算數、邏輯運算表達式、函數表達式的值不是左值所以不能被賦值)所以A、D錯誤
C是逗號表達式。(逗號表達式的值和類型都由逗號右邊的表達式決定,就是說連續逗號表達式比如a,b,c,d等價於a,(b,(c,(d)))
–
賦值僅僅是一種表達式,也有值和類型a = 1。的值是1類型是int,所以完全可以賦值給另一個int類型變量b = (a = 1)也就是b = a = 1。不存在不可以連續賦值的說法。
括號表達式也是一樣。只要有類型和值就能賦值給對應的變量這是賦值的原則。
B和C的寫法在標準C編譯器上都是可以編譯通過的。
符合C語言語法的賦值表達式是: A.a=9+b+c=d+9 B.a=(9+b, c=d+9) C.a=9+b, b++, c+9 D.a=9+b++=c+9
需要首先明確
1.)賦值操作符的優先級比「+」更低.
2.) 賦值操作符的返回值是賦值後的左操作數的值.
3.) 常量和表達式不能作為左值,不能作為左操作數(即不能放在二元運算符的左邊).
A出現9+b+c=d+9這樣的式子是不能完成賦值的,可以改為a=9+b+(c=d+9)
D的錯誤與A相同
C是三條語句,a=9+b;b++;c+9,也就是說後面的b++和c+9在這裡沒有意義
B括號中是逗號表達式,從左往右執行,返回最後一個表達式的值
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/160044.html