C語言的問題

時間 2021-08-30 09:43:55

1樓:

樓上貌似b的選項我覺得說的不對

逗號表示式的運算順序:

a=表示式1,表示式2;

從左往右運算,但是是把最右邊的值賦給a,而不是第一個值。

2樓:匿名使用者

沒有一個是正確的,因為c語言規定表示式必須以分號結尾。如果說是漏打只有a是正確的,b中每個表示式佔一行不能以逗號隔開c,d就不用說了,根本沒有這種表達

3樓:

對 a是把a+7的值賦給a

對 b是把7+b+c的值賦給a,然後再a++(逗號表示式)錯 c強制型別轉換,但是12.3不能用於求餘錯 d等價於a=a+(7=c+b)但7不是變數(右結合性)還有表示式是沒有分號的,有分號的叫語句

還有算出結果後不賦給任何變數也是可以的,也是表示式,比如if(i+7)你不能說if()中的不是表示式吧

4樓:匿名使用者

a對b中間那裡應該用分號!

c那裡實型不能求餘!

d第二個等於號不能怎麼弄!

5樓:別動隊領導

選aba沒有爭議。

b中的","沒錯,那是順序求值運算子。但樓上好像解釋的不對,他的功能是按順序的執行每一個表示式,而不是把最右邊的值給a。因為","的優先順序低於“=”,所以要想把最右邊的值付給a,應用“a=(7+b+c,a++)”

c中%只能用於整數之間。

6樓:匿名使用者

d的問題在於a+7不是變數不能被賦值

7樓:夏天的泡子

a對,表示的是,(給a的值加7),再把這個值賦值給a;

b錯,表示,先把(b+c+7)的值賦給a。然後a自增(即等價於a選項那樣,a=a+1);我看有回答說是錯誤,說什麼第一個表示式和第二個表示式之間應該是分號,其實不對,這個整個是運用了逗號運算,自左向右運算;

c錯,%是取整,只能用於整數之間,

我想正確的表達應該是(int 12.3)%4;

d錯,在c語言中,賦值的一個規則就是不能連續賦值,正確的表示式應該是a=a+7;a=c+b

8樓:

ab都對吧。。。

a是把a+7的值賦給a

b是把7+b+c的值賦給a,然後再a++ 這是逗號表示式c強制型別轉換,但是c沒有變數,轉換出來的值沒地方放。。。

d不能這樣賦值,需要分開

9樓:匿名使用者

選ab中間要是分號就對了;c,%取整運算必須是整數之間;d.....不能那麼連續賦值,具體為什麼我也不知道,就是規定吧

10樓:匿名使用者

沒有一個是對的。變數在沒有賦初值,是不能出現在等式右邊賦給別的變數的!如a。a沒初值又怎能把a+7給a呢?同理b,d。

c。中根本沒變數,而且%運算兩邊要是整數!

是不是題抄錯了!

11樓:提瑞斯法の殤

ab a:沒啥說的

b:逗號表示式,從左往右運算,把最右邊的值賦給ac:只有整數才能取餘

d:賦值號的左值,也就是=左邊的必須是變數而這裡是7常量,所以d也錯了

C語言問題,C語言問題C語言問題

選a首先,空格也是一種字元,b d選項分別把空格賦給了c1,c1 其次,c選項不完整,排除 不僅a這樣,10a20b也是可以的。 聽不清啊 答案a 10a 20b cr 是正確的。因為scanf d c 時,會忽略數字前面的空格,遇到非數字字元就會結束讀取 非數字字元會留待下一次讀取,即被後面的 c...

C語言問題,C語言問題

include void main 最後輸出 1 2 2 3 cca 2,b 2,c 4 2.設計一個程式 計算0xaf 01234567,字元 a 的ascii碼值 十進位制 是多少,101 代表的字元是什麼,32678 1的準確結果是多少,1.456e6 35的準確結果是多少,12345 6的準...

C語言問題,C語言問題

符合,相當於一個字元,ascii字元可以直接轉成short整型數字。101 不符合,這是一個字串,不能作為常數。不符合,因為 會對雙引號轉義,找不到另一個雙引號。會出錯。而且就算是 也不符合,因為編譯器會把它理解成一個字串,而非單個字元。e3不符合。019不符合,0開頭代表8進位制數,不能出現9。0...