C語言2維字元陣列的讀入問題,請教一下大家

時間 2022-08-13 05:30:05

1樓:匿名使用者

出現了問題,首先要看編譯器的報錯資訊。

看你上面寫的程式:

有如下幾種可能:

1:c語言的陣列下標是從0開始的,也就是說,a[1][1]代表第二行第二個元素。

而不是第一行第一個,如果想給第一個元素賦值的話,應該寫成a[0][0]

2:問題二:由於我有相當長的時間沒有接觸過c語言了,所以我也不記得在給陣列元素進行scanf操作的時候,是否需要加上&,因為,陣列那個就是地址。。。

語法既不清楚啦。。。。

2樓:模擬山羊山羊菌

你的程式陣列資料出界了,要這樣寫:

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

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

{scanf("%c",&a[i][j]);

因為c語言的陣列下標是從0開始的,所以3x3的陣列的資料是a[0][0];然後a[0][1];a[0][2];a[1][0]...到a[2][2]。

a[0][0] a[0][1] a[0][2]a[1][0] a[1][1] a[1][2]a[2][0] a[2][1] a[2][2]而你的程式從a[1][1];讀取為第一個數,然後到a[1][3];就出界了.

a[1][1] a[1][2] a[1][3]a[2][1] a[2][2] a[2][3]a[3][1] a[3][2] a[3][3]

3樓:景曉靈

**是:

#include "stdio.h"

void main()

因為c語言的陣列下標是從0開始的,應該是這樣的:

a[0][0] a[0][1] a[0][2]a[1][0] a[1][1] a[1][2]a[2][0] a[2][1] a[2][2]

4樓:匿名使用者

他報錯是報的這裡嗎?

5樓:匿名使用者

#include

void main()

沒有什麼問題啊!

6樓:匿名使用者

3x3的陣列這麼定義

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

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

c語言一維陣列的問題,求解啊,C語言一維陣列的問題,求解啊

include include define n 10 定義陣列大小 int main void printf 最高分 2f t最低分 2f n及格人數 return 0 void bubble float score,int n c語言陣列問題求解,一個陣列後面加加是什麼意思,是計數嗎,為什麼括號...

C語言字元陣列與字串問題,C語言中將字串賦值給字元陣列的問題

渿河 這是在定義時初始化 如果你的右邊花括號內的字元個數少於 陣列元素個數 那麼其餘的陣列元素將會初始化為0 0 的ascii碼的值就是0 如果你不指定陣列元素個數 編譯器會自動幫你計算出元素個數的 char c 10 這個是已經給定了陣列的大小,達不到陣列大小的長度的話會自動添零的 c語言中將字串...

C語言字串問題,C語言字元陣列與字串問題

字串初始化,如果逐個賦值的話,系統不是會自動新增 0 嗎不是。圖一就是長度為4的陣列,圖二長度為5圖三會是新增 0,但是是會把後面所有的都設為 0因為圖一和圖四不以 0結尾,所以不能用strlen和strcmp,會越界 圖四也可以用char str 4 stop 這樣賦值。如果不手動加長度就會是5了...