C語言的問題

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

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語言問題?

魘傳說 這個 的作用就是利用do while將陣列算出來,然後利用for迴圈遍歷,倒序輸出陣列。我感覺很奇怪,devc 出來的結果是10010。我算出來的結果應該是00010,因為強轉int型別應該是取0的,而不是取1.然後我用c 試了多個數字,發現所有的結果都是以1開頭,至於為什麼我也不知道,希望...

c語言問題,C語言問題。

考驕 用指標將兩個字串連結接起來,前一個while迴圈,確定s1字串走完,第二個while開始將s1的逐個字元複製給s1走完,也就是末尾,這樣就可以把字串都匯入到s1中 最後一個空寫的應該寫return s1 長魚修韋 很久沒碰這東西了。我來解釋下 第一個while的迴圈是為了讓指標指向第一個字串的...

C語言問題,c語言問題?

自我程式設計 列印輸出乙個ok。因為前面迴圈for語句有分號結束。所以後面的printf語句不在迴圈內,不受迴圈語句影響。 理佑平鄲胭 結果是22 7 7 8 22 你可以將 i i i i是先 1再計算,還有這裡的運算順序是從左到右,所以應該是7 7 i 14 8 22 前兩個相加時,i先加1,加...