C語言陣列

時間 2022-06-04 17:35:05

1樓:匿名使用者

1全部原因:你定義的a[2][2]是這樣排列的:

a b c

d \0 \0

\0 \0 \0

而a相當於a[0].%s所以則要輸出第一行abc,因為沒有'\0'結尾。所以繼續輸出d。

而這是不規範的。

如果你想以這樣的方式輸出字串,可以擴大範圍。a[2][2]換成a[4][4]

舉例.:

char star[8][8]=;

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

printf("%s",star[i]);

2樓:關注

printf("%s",a)輸出字元陣列時必須保證陣列a中存在結束字元'\0';這樣才不會越界。

改為#include

int main ()

; //結束標誌'\0'

printf("%s\n",a);

}試一試就知道了

第二種方法是printf("%c",a[i][j])逐個字元輸出

3樓:匿名使用者

//二維陣列應該這樣輸出吧

#include

int main()

;int i,j;

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

for(j=0;j<2;j++)

printf("%c",a[i][j]);

printf("\n");

return 0;}

c語言 陣列未知個數 怎麼宣告,C語言 陣列未知個數 怎麼宣告

風若遠去何人留 c語言在陣列個數未知的情況下,根據應用情況不同,有三種方式。1,陣列元素總數未知,但是需要儲存的內容是已知的。其實這是一種變相的已知個數,只是程式設計者不去計算總個數,把這個工作交給系統來做。這時可以通過陣列個數留空,顯式初始化陣列進行宣告。比如char s this is a te...

c語言陣列宣告問題,C語言中定義陣列時對其全部初始化為1的問題

有初始化的陣列定義可以省略方括號中的陣列大小。例如,下面的 中陣列定義為5個元素 int a 如 char str program 編譯時必須知道陣列的大小。如果陣列大小要根據運 況來確定,可以使用動態陣列 int p int calloc num,sizeof int 一般有四種陣列定義方式,以一...

微控制器C語言陣列賦值求助,C語言一維陣列賦值方法

陣列只能在定義的時候整體賦值,不能在之後這樣用。所以你只能寫成 uchar frist 5 而不能寫成 uchar frist 5 frist 5 如果你真的要在之後賦值,特別是每個成員不一樣,你只能用迴圈或者手動乙個乙個賦值。或者先把所有值放在另外乙個數值然後memcpy給目標陣列。uchar 你...