定義 int a 1,p float b 2 0 char c A不合法的運算是A pB aC b為什麼

2021-05-29 04:37:08 字數 1207 閱讀 4994

1樓:匿名使用者

應該還有一個選項吧,a b c 都是合法的,雖然說a,p++之後,指標p指向的記憶體不確定,但是這個運算還是對的,b c 都是正常的自增自減操作了~~

2樓:

這三個選項都是合法的。

3樓:匿名使用者

c因為 c是float型, 只有int 型 的變數才能自加 或者 指標也行的,因為指標是指向地址是整型。

4樓:匿名使用者

c因為c是float型不能自增。

5樓:匿名使用者

經測試,全部合法。p++是記憶體中進sizeof(int)個位元組,值是無效的,運算合法但不合理

24. 設有定義以下不合法的運算是( a ).

6樓:匿名使用者

char c = 'a' 這裡

baic是一個字元變du量,c--,是減的字元對zhi應的ascii值,減dao1之後,仍然有相應的字元與之

內對應。

而int *p = &a; 這裡

容p是指向整形的指標。而p++訪問的是,整形a後面的那個整形。但由於a不是整形陣列,所以a後面的四個位元組是未知的。

如果int a[10]; int *p = a;那麼p++是合理的。

7樓:匿名使用者

a選項:*p=&a;p指標本身沒有賦值,而是p指標指向內容賦值了,如果p++,那麼p指標不知專指向**去了屬

。d選項:char c='a';c內容是被賦予了字元a的ascii碼值十進位制的65,那麼c--就是十進位制64,相當於是ascii碼錶中的'@'。

8樓:匿名使用者

我看都合法。

編譯執行都沒有問題。

設有以下定義,則下面給出的語句中錯誤的是 int a=0; float b=1.25; char c='a'; #define d 2

9樓:青春永駐

c是錯誤的,因為a+b是常量了,

10樓:風車節姑姑家

選c,是因為增一減一是一元運算子,只需要一個運算元,而這種運算元必須是變數,不能是常數或者是表示式。而c答案(a+b)就是表示式了

定義 int a 1,b 2,c 3執行下列語句,if ac b a a c c b後a的

都沒有下文的呢 a 1 1 3 進入不了判斷 不可能會1 3所以三個變數的值不會改變 int a 1,b 2,c 3 if a b a b if a c a c 則a的值為3。對嗎 授人魚不如授人漁bai。我來幫你分析 du吧,a 1,b 2,c 3 1 如果a大於zhib 那麼dao b賦值給a,...

若有定義 int a 3,b 2,c 1並有表示式 a b,abc,b c 1,c 1,則表示式值相等的是哪兩個

表示式一值為1,表達二好象有錯誤,不能那樣表示,應寫成a b b c,這樣寫二式為真,值為1,三式且符號兩邊都非零,都為真,所以三式值為2,四式為賦值語句,最終結果是c的值為2 第一個 a b 輸出結果為 1 第二個 a b c為真,3 2為真 即為1,但1 1為假 即為0第三個 b c 1 先算c...

若已定義inta1b2c3則表示式abc的值為

1 按照運算子優先順序,的優先順序大於 所以先計算b c的值,應為b 2,c 3,所以這個表示式的值為假,也就是值為0.然後將b c的值賦給a,那麼執行a b c之後,a 0 2 第一個方式不正確,第二個左值不能為表示式,第三個正確,第四個左值不能為表示式 第一個 先計算b c 不相等,為0.然後賦...