C語言字串陣列的問題,C語言字串陣列的問題

時間 2022-11-29 12:30:12

1樓:匿名使用者

scanf 輸入時不能讀取空格鍵的,所以a儲存的是123,b儲存的是456,當然由於你是用%s輸入的,會自動在123後面加上\0(\0是乙個字串的結尾)

printf("%s\n%s\n",a[i],b[i]); 這句只會輸出null

int a[max]=,b[max]=; 這兩個整形陣列儲存的全是0,int的 0轉化為字元就是null,這時輸出時系統就會認為它是乙個空字串, 所以%s的方式列印出來沒有出場,如果你賦值不為0的話,以%s輸出時找不到字串的結尾 ,程式將會出現位址錯誤

a[0] = '1', a[1] ='2', a[2] = '3', a[3] = '\0';

b[0] = '4', b[1] ='4', b[2] = '6', b[3] = '\0';

lz的建議你去複習下譚浩強的c語言程式與設計

拙見!僅供參考!

2樓:apple林

1.因為你的a,b陣列都是int型別的,並且初始值為0,所以printf("%s\n%s\n",a[i],b[i]);這裡%s,所以輸出為null;應該改為printf("%d\n%d\n",a[i],b[i]);

2.字元陣列儲存如下:

a[0]=1; a[1]=2; a[2]=3;

b[0]=4; b[1]=5; b[3]=6

3樓:不吃辣先生

你把陣列初始化為,陣列中的指標都為null,你對陣列後面的成員沒有賦值,所以輸出的都是null;

你用的是%s輸入,存入的是字串,

4樓:匿名使用者

scanf是以回車換行符為結尾的,未接收到換行符時,全部被當作乙個字串處理,比如123空格456,這其實是乙個字串。

另外,a和a這在c語言中是兩個東東,區分大小寫的。改成相同名字即可。

5樓:自由翱翔海闊天空

a[max],b[max]都是全0整形陣列;

使用printf("%s")會以字串形式輸出,0是結束字元,也就是說你的字串a,b都是空字串;

6樓:匿名使用者

for (i=0;i<=3;i++)

printf("%s\n%s\n",a[i],b[i]);

改為:for (i=0;i<=3;i++)

7樓:匿名使用者

a[i],b[i] 賦值語句有問題

C語言字元陣列的指標問題,C語言字串指標問題

這個就是看你對指標的理解了 char name 相當於你定義了乙個char 的指標陣列,每個陣列元素指向乙個字串。char name 表示你定義了乙個字元陣列,而你初始化的時候,確實字串,肯定編譯不過的。是不是二維陣列,就看你怎麼理解了,char name 中的name相當於char char na...

c語言定義字串陣列,C語言 如何定義字串陣列

天方夜譚的哆啦a夢 c語言字串陣列中的每乙個元素均為指標,即有諸形如 ptr array i 的指標。由於陣列元素均為指標,因此ptr array i 是指第i 1個元素的指標。例 如二維指標陣列的定義為 char ptr array 3 擴充套件資料 字串陣列陣列元素表示方法 陣列元素的一般形式為...

c語言字元陣列如何比較,請教C語言字串和字元陣列的比較問題

1 c語言中字元是使用char來定義的,使用關係運算子 即可對字元進行比較。在編譯器中定義a b兩個字元型變數,並為其賦值,按照如圖所示編寫 2 執行 後,我們可以得到如圖所示結果。1表示條件為真,0表示條件為假。3 字串使用char來定義,可以使用strcmp 來判斷大小,也可以使用關係運算子 判...

c語言的字串宣告問題,C語言的字串宣告問題

簡單說一下 字串陣列是用來存放字串的陣列,在記憶體中佔一段連續的單元。所佔記憶體存放的是字串。定義方法為 char a n n為常量表示式,可初始化。字元指標是指向字元的指標,所佔記憶體單元存放的是所指字元的記憶體單元。定義方法為 char p 完整的解答 1 字元陣列由若干個元素組成,每個元素中放...

C語言關於字串的問題,C語言關於字串的乙個問題。。

你函式的功能是去處非字母字元,也就是刪除空格個!應該輸出itis 字串是自動加上結束識別符號的 0 遇到這個停止,但是輸出列印出來螢幕上看不到 暈,其實很簡單,因為空格就是空格符不是終止符號 0 c為從輸入的資料中取出的乙個字元,不應該是字串。比較是通過ascii編碼比較的。a z對應的ascii編...