c語言如何定義陣列存放字元和數字

時間 2021-08-30 11:12:04

1樓:興文博武數碼館

遇到字母和數字混合的陣列,定義的時候就不要定義為int型陣列,因為用%d輸出不了字母, 輸出的是字母的ascii碼,不是輸出的字母本身,所以,要定義為 字串型的陣列。

若不是裡面有個佔兩個字元的 ‘10’,可以直接用 %s 輸出。

但是因為有 字元‘10’,%s輸出的是0 就不能用了,就只能用for迴圈輸出。

2樓:匿名使用者

c語言中,字元型別char和整數型別在儲存資料的格式上是相同的,都是採用補碼儲存資料。所不同的是,char只有一個位元組,而int資料有四個位元組。一個位元組表示的有符號數範圍為:

-128~127, 四位元組表示的有符號數範圍為:-2^31~2^31-1.

因此,若想定義一個陣列,既能儲存char型別,又能儲存int型別,則一般情況要定義成int型別陣列。

若實際應用中,需要儲存的整數型別資料範圍在-128~127之間,則可定義成char型別陣列。

注:當char型別陣列中既儲存整數,又儲存字元時,一定不要按字串來操作!因為,數值0是整數的一個有效數字,但又是字串的結束符值。

按字串操作這樣的陣列,會導致程式計算出現錯誤。

在輸出資料時,如printf(),當格式串為%c時,是把陣列中儲存的值按字元輸出;當格式串為%d時,是把陣列中儲存的值按整數輸出。

3樓:杭皖清

一個陣列只能存放一種資料型別. 但是字元和數字可以統一為字元或者數值形式存放在一起,他們儲存方式都差不多,只要你知道他們的排列方式就可以.別到時候不知道哪個是數哪個是符號就好.

4樓:匿名使用者

“撲克,從a,1,2,3,4,5,6,7,8,9,10,j,k,q,如何把這些有包含數字和字母的這些陣列,

定義存放在一個陣列”

看起來你的要求其實是一個字元陣列來存放,

因為“1,2,3,4,5,6,7,8,9,10,”在顯示時是以ascii標準碼的字元定義輸出的。

所以定義一個char陣列來存放這些資料,

顯示時直接輸出字元來顯示就可滿足要求。

5樓:匿名使用者

用char 就可以,

比如 char a = ;

輸出也很容易

printf("%s",a);

數字10是顯示0的,因為char是一個位元組,而10佔用了兩個位元組,所以將低位元組輸出了。

給你一種方法:是一種投機取巧的方法。

char a = ;

輸出時int m = 10;

for(int i = 0;i<14;i++)else

printf("%c",c+i);}

6樓:匿名使用者

你可以用 char 型的陣列將你說的東西放在一起,但是要注意的是 10 ,10是兩個數字,不能放在一個char 裡面,需要就把10 分成 ‘1’ 和‘0’ 兩個。

7樓:匿名使用者

分別定義一個char型和int型陣列,用來存放字元和數字

c語言中的陣列裡的數字如何和字元聯絡起來? 5

8樓:mexico卡卡

c語言中,字元型別char和整數型別在儲存資料的格式上是相同的,都是採用補碼存版儲資料。所不同的是,權char只有一個位元組,而int資料有四個位元組。一個位元組表示的有符號數範圍為:

-128~127, 四位元組表示的有符號數範圍為:-2^31~2^31-1.

因此,若想定義一個陣列,既能儲存char型別,又能儲存int型別,則一般情況要定義成int型別陣列。

若實際應用中,需要儲存的整數型別資料範圍在-128~127之間,則可定義成char型別陣列。

注:當char型別陣列中既儲存整數,又儲存字元時,一定不要按字串來操作!因為,數值0是整數的一個有效數字,但又是字串的結束符值。

按字串操作這樣的陣列,會導致程式計算出現錯誤。

在輸出資料時,如printf(),當格式串為%c時,是把陣列中儲存的值按字元輸出;當格式串為%d時,是把陣列中儲存的值按整數輸出。

既含字元又含數字的陣列如何定義?在c語言中

9樓:匿名使用者

全部當做char 當要用到數字的時候用其ascii碼-'0'就可以了

10樓:匿名使用者

好像只能把數字當作字元用的時候再說

c語言 如何定義字串陣列

11樓:會飛的小兔子

c語言字串陣列中的每一個元素均為指標,即有諸形如“ptr_array[i]”的指標。由於陣列元素均為指標,因此ptr_array[i]是指第i+1個元素的指標。

例:如二維指標陣列的定義為:char *ptr_array[3]=,,};

擴充套件資料

字串陣列陣列元素表示方法:

陣列元素的一般形式為:陣列名[下標] 其中的下標只能為整型常量或整型表示式。如為小數時,c編譯將自動取整。

例如,a[5],a[i+j],a[i++]都是合法的陣列元素。陣列元素通常也稱為下標變數。必須先定義陣列, 才能使用下標變數。

在c語言中只能逐個地使用下標變數, 而不能一次引用整個陣列。

12樓:金牛多弗朗明哥

方法1, 使用指標陣列:

#include

#include

#include

int main()

;int i=0;

while(strcmp(test[i], " ") != 0)

puts(test[i++]);

system( "pause ");

return 0;

}這個方法比較簡單, 但是問題是這樣的話,字串是常量,無法修改。當然這個問題也可以解決, 比如使用陣列賦值, 然後將 char 陣列首地址賦值給某一個指標即可。

方法2,使用2維陣列:

#include

#include

#include

int main()

;int i=0;

while(strcmp(test[i], " ") != 0)

puts(test[i++]);

system( "pause ");

return 0;

}這樣的話, 問題就是 空間的浪費!

13樓:華光高科

10.3.1-c程式設計基礎-字元陣列與字串

14樓:匿名使用者

char username[n][4]=;

n是字串的個數

c語言,如何將數字新增到一個已有的字元陣列中?

15樓:

陣列要實時新增數字進去有點麻煩,如果是空陣列就一個for迴圈按順序輸入就行了。如果是想把一個數字插入某個位置,那用一個變數temp記錄插入的位置,先在原來的陣列temp位置開始的數全部先後移一位,然後再a = waiting[temp];(a是你想插入的數字)

16樓:匿名使用者

不能吧,你定義的時候不是a[n]嗎,這個n是固定的,你要多少系統就給你多少空間,給定之後是不能再改的,c就是這樣,別的語言可以。(用連結串列可以)

c語言中定義字元陣列,其中存放的是什麼

在c c 中,陣列是指 連續分佈的記憶體單元。字串是一種字元陣列,比其他陣列特殊的地方是如果陣列被賦值 scanf,fread,fprintf,strcpy,nstrcpy 會在陣列末尾追加 0 在c語言中,陣列大小是不可知的。strlen s 只能算出從s開始到 0 的長度 總體來說,陣列未初始化...

C語言,字串陣列的輸出,C語言 如何定義字串陣列

自我程式設計 getch 這句多餘,只是列印而已不需要這個函式接收字元。printf s n ch 0 printf s n ch 1 printf s n ch 2 這3句列印,第2個傳參和printf函式形參型別不一致,函式需要的是char 而你給的是char 12 執行可以,但會有警告。你想要...

c語言填空若字元陣列定義為char aancdn

金色潛鳥 char a ancdn 0 字串長度為 5。因為 字串長度 算到 字串結束符 以前,不包括 字串結束符。例如 123456 089abcd 0 字串長度計算到第一次遇到的結束符 0,長度是 6,後面不算。char a ancdn 0 佔記憶體 7 個位元組,雖然你加入了一個結束符,但 因...