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了...