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 個位元組,雖然你加入了一個結束符,但 因...