設有變數定義語句chara,設有如下變數定義charaa3a,b,c,d,e,f

2021-03-04 09:23:18 字數 1328 閱讀 3670

1樓:瀟瀟楚瀟

選a a a= '&'是正確的

b a=』16』因為a是被定義為char,所以必須是字元,回而16是字串,

不是字元, 所以是錯的答

c a=」&」; 是因為定義char a,不是string a,字串是用「」引的,而字元時用『』引的, 所以是錯的

d a=''';是錯的,c語言規定不能將單引號 作為字元常量

2樓:

a a= '&'; 是正確的

d a='''; 是錯

的b a=』zhi16』; 超界dao,是錯的c a=」

內&」; 是char,不是char,是錯的----

你可以試容試:

char a='&';

printf("%c %x",a,a);

3樓:鬱玉英雪癸

只包含一個字元,根據char的定義,char型變數只為1個長度.並從右側開始運算,所以應該為'c'字元.

如果所問包含幾個字元,那應該是d,以為'\123'轉義後為s字元.但a值必為'c'這是一定的.

設有如下變數定義char aa[ ][3]={『a』,』b』,』c』,』d』,』e』,』f』};

4樓:匿名使用者

char (*p)[3]

我們可以可以看到p是指向一個有三個元素的字元陣列的指標。

那麼當p++的時候,相當於跳過指向的陣列。

再來看一下,char aa[ ][3]=;

我們可以發現aa是二維陣列,而p指向的是一維陣列。

所以我們去分解aa讓他變成兩個一維陣列

和p在++操作前其實是指向前面那個一維陣列,當p++之後,p此時其實指向了,那麼**p就是取當前陣列的第一個字元,我們可以知道那個字元就是『d』。

清楚了嗎?

你會有疑問為什麼二維陣列為什麼可以分解成兩個一維陣列,因為陣列不管是幾維其實就是一塊連續的記憶體。『d』其實就是接在『c』的後面。懂了嗎?

設有變數定義語句char a; 則下面的賦值語句中 ( ) 是正確的。 a.a=』&』 b.a=」&」 c.a=』16』 d.a=』 』

5樓:匿名使用者

b選項中的"&"是一個字串,不是字元,因為它是用雙引號括的。

c選項中的單引號之間包含了多個字元,是個多位元組字元,嚴格意義上不算錯,它會將低位元組字元賦予變數a。

d選項中在要把單引號字元賦予a,而單引號同時也是一個操作符號,因此要用轉義字元,即加上斜線,寫成a='\''

a選項是標準形式。

設有以下定義的語句 int a 210,20,30,40,50,60p p a則p 2 1 值為

p 2 1 相當於陣列a 2 1 的值是多少。所以答案就顯而易見了啊 60 以上回答你滿意麼?若有以下定義和語句 int a 10 1,2,3,4,5,6,7,8,9,10 p a 則不能表示a陣列元素的表示式是 a p b 不能表示a陣列元素的表示式是 b a 10 因為陣列a的最大下標只能是9,...

設有定義語句 int 0,p你,q以下選項正確的是?a p 1 b p q c p q

使用了逗號操作符,bai實際上等於 du int n 0 int p n int q 所以,zhin是整型,p,q是整型指標。a錯了,c也錯了,p是解引用操作,得到的是p所指向的記憶體區域的值。它不能作為一個 左值 left value,也dao即location value,就是地址值 只有b是對...

設有以下語句 char str 12aaa

strp strp 4 定義的是指標陣列。通過迴圈對陣列的每個元素賦值,分別指向陣列的每一行。strp表示的是一個陣列名,而這個陣列的型別是指標,因此strp指向的是第一個指標變數的地址。取值範圍 char 2 7 2 7 1 signed char 2 7 2 7 1unsigned char 0...