char a string ,這是合法的陣列說明嗎,為什麼

2021-05-23 04:39:45 字數 3960 閱讀 5299

1樓:匿名使用者

這不是合法的陣列說明,因為char a表示一個字元,如果要定義陣列的合法說明,如下形內式都可容以:

char a="string";

char a[10] = "string";

其實就跟整數和整數陣列的定義一樣:

int n,narray[10];

n是整數,narray是陣列:n=2是合法的,n=就是不合法的。

2樓:匿名使用者

不是,定義陣列時要有方括號,如下:

char a[6] = "sting"; //記得字串結束符 "null"

3樓:匿名使用者

char a="string";這是錯的,a只是字元型變數,只能賦值為單個字元,不能賦值為字串

char a="string"; 這樣宣告可以

4樓:匿名使用者

char a="string";是合法的,這裡a相當一個指標變數;

你的那個a只是一個字元變數,不能把字串賦值給它

5樓:匿名使用者

char a=『s』;

char只能定義 字元 『 』 , 不能定義 字串 「 」

6樓:曉風殘月

char a="string".才是對的

char a="string",這是合法的陣列說明嗎,為什麼

7樓:匿名使用者

char a="string";這是錯的,a只是字元型變數,只能賦值為單個字元,不能賦值為字串

char a="string"; 這樣宣告可以

8樓:匿名使用者

不合理 這樣宣告a只是一個字元,不是字串。*a="string",a="string"

9樓:草莓星球

不是的 該a[ ]="string" a為陣列首地址

這個陣列為什麼是不合法的?

10樓:匿名使用者

這個是什麼語言的?

在c語言中,陣列的定義應該寫為:char a[7] = "string";

直接書寫char a則是指單個字元a,並非陣列。

雙引號引起來的字串,也可以看做字串常量,亦可以使用char * a接收其首地址,寫作:

char * a = "string";

char * a = "string";

char a[7] = "string";

//以上兩種寫法都是正確的。

char a = 's';

//這種寫法只能儲存單個字元。

11樓:匿名使用者

你的陣列定義呢?大小呢?

合法的陣列定義是() a.int a[]={「string」};

12樓:匿名使用者

d正確,

a,宣告的是int型別的陣列,

初始值卻是字串"string"肯定是錯的b,宣告的是長度為5的int陣列,後面的初始值給的是6位,肯定是不對的啦

c,道理同a

d,char型別和int型別是能隱式轉換的,0,1,2,3,4,5都分別對應一個char型別的符號,所以是正確的。

13樓:匿名使用者

答案是d。

a:int型的陣列,卻賦給它字串型,是不對的。

b:int型的陣列,a[5]表示有5個資料,但是賦值的卻有6個值,故錯誤,記憶體溢位。

c:char a表示字元型的變數,不是陣列,而且賦給它字串型的也不對。

d:a有6個值,0,1..也是字元。故正確。

14樓:匿名使用者

a.int a=; int 不能為字串b.int a[5]=; 下標溢位

c.char a=; char 不能為字串 只以是字元d.char a= 也就只有這個對了!

15樓:匿名使用者

a錯誤,陣列內容為字串而非字元

b錯誤,初始化數量超出預定義數量

c錯誤,語法錯誤

只有d了...,雖然d中初始化的不是字元,但是存在整數與字元的隱式轉換!

1)合法的陣列說明語句

16樓:匿名使用者

1.d 每一個字元都有一個整形的ascii碼,比如a的ascii碼值為65,所以可以直接用對應的ascii碼值代表對應的字元,詳細內容可以參見ascii碼錶。

0~5的ascii對應表

bin dec hex 縮寫/字元 解釋

00000000 0 00 nul(null) 空字元

00000001 1 01 soh(start of headling) 標題開始

00000010 2 02 stx (start of text) 正文開始

00000011 3 03 etx (end of text) 正文結束

00000100 4 04 eot (end of tran**ission) 傳輸結束

00000101 5 05 enq (enquiry) 請求

也就是說 整形和char是可以互換的(當然要在對應的數值範圍之內,如果ascii表沒有對應的整形數就會報錯)

17樓:

2)在c語言中,二位陣列元素在記憶體中的存放順序是------?

先行後列

c語言,為什麼int a[]="string"可以是對的,而char a[]={0,1,2}卻是錯

18樓:匿名使用者

int a="string"; 這個表示式不太可能編譯通過;首先陣列不能作為左值,其次陣列a為int*而"string"為char*不通過強制轉換無法複製。

char a=我覺得可以通過編譯,但是會發生截斷,取決於系統的大小段問題。

這個0,1,2本身就可以作為anscii碼只是不可見罷了!

19樓:匿名使用者

char定義的是字元型,而你的1,2,3都是整型的,不匹配啊。

你能理解成ascii碼值所對應的字元,可是計算機不行,所以要加應引號。

char a=;

或者char a=;

c語言問題...下列合法的陣列定義是哪個 其他的為什麼不是

20樓:匿名使用者

選da 型別不一致,int型陣列不能用char賦值b 定義的陣列能包含5個元素,可是後面初始化了6個,超出大小了c a是char型變數,只能包含一個字元,不能用字串初始化d 實際上是給char陣列用ascii賦的初值,0,1,2,3,4,5在a陣列中的儲存並不是數字0-5,而是ascii裡的0-5,輸出的結果用ascii碼錶看

若有說明char string[5];則string[0]="a";(或string="a")是

21樓:好id都遭註冊了

兄弟,賦值不對,你要對string這個字元陣列賦值的話應該這樣寫,string[0]='a'而不是string[0]="a",字元型別是用單引號的,雙引號的是字串格式了,再者,你的命名規範存在嚴重問題啊

22樓:匿名使用者

string[0]是char型 "a"是char*型 不能等

合法的陣列定義是 a.int a[ ]=」string」; d.char a[ ]={0,1,2,3,4,5};

23樓:匿名使用者

兩個都是錯的,正確的是:int a = ; char a = "string"; a定義了一個整型陣列,但賦的值是字串,d定義了一個字元陣列,但賦的值是整數。

商標搶注是否合法,搶注商標是否合法

商標搶注不合法。商標法 第三十二條規定,申請商標註冊不得損害他人現有的在先權利,也不得以不正當手段搶先註冊他人已經使用並有一定影響的商標。商標法 第三十條規定,申請註冊的商標,凡不符合本法有關規定或者同他人在同一種商品或者類似商品上已經註冊的或者初步審定的商標相同或者近似的,由商標局駁回申請,不予公...

個人兼職會計是否合法個人兼職會計是否合法?

有會計從業資格證即合法。會計法規定 第三十六條 各單位應當根據會計業務的需要,設定會計機構,或者在有關機構中設定會計人員並指定會計主管人員 不具備設定條件的,應當委託經批准設立從事會計 記帳業務的中介機構 記帳。第三十八條 從事會計工作的人員,必須取得會計從業資格證書。擔任單位會計機構負責人 會計主...

公司這樣做合法嗎,公司這樣做合法嗎?

首先你公司的做法不合理.因為根據 勞動法 第31條規定 勞動者解除勞動合同,應當提前三十日以書面形式通知用人單位.因此你解除勞動合同的程式是合法的.並且繳納社會保險費是用人單位與勞動者的法定義務.雙方都必須履行.公司也沒有權利扣除你一個月的工資.如果公司非要這樣做,你可以到勞動保障監察進行投訴.他們...