為什麼int a3和int a3不能正確二維陣列

時間 2021-09-11 22:33:35

1樓:嘿嘿

你這樣定義的話 編譯器無法識別第一位的個數

2樓:陳學陽

int a[3]=2;

這個語句語法是錯的,錯在二維陣列的初始化。初始化值要放在花括號裡。

int a[3]; 二維陣列宣告,其中一維大小不定。

陣列的初始化不要求全部元素都賦值,所以:

int a[3]=; -- 初始化 a[0][0] 等於6

int a[3]=; -- 初始化 a[0][0] 等於2,a[0][1]等於6

int a[3]=; -- 初始化 a[0][0] 等於2,a[0][1]等於6

...都是正確的。

你可以試試:

int a[3]=;

printf ("%d %d %d\n",a[0][0],a[0][1],a[0][2]);

a[1][0] = 14;a[1][1] = 15; a[1][2]=16;

printf ("%d %d %d\n",a[1][0],a[1][1],a[1][2]);

就明白了。

如果對您有幫助,請記得采納為滿意答案,謝謝!祝您生活愉快!

3樓:來自美國認真的兔子

正確格式 int a[3]= ,,.....};

4樓:

道理和int a ;一樣

為什麼int a[][3]={2*3};為什麼可以,而int a[][3]={};不可以

5樓:匿名使用者

第一個陣列你是定義了陣列的長度為3,無論你裡面的值是多少他都為你 分配3個記憶體

而後面你同樣定義了了陣列的長度,但賦值確是空也就是null值

6樓:匿名使用者

陣列定義可以賦值,也可以不賦值,但不能賦空值。

7樓:彭藉鬆長

應當是這bai

樣寫的吧,int

a[2][2]=,};

這是對其初

du始化,而zhi它又是個二維數dao組,以行初始化,第回一個花答括號中的就是第一行的,第二個花括號是第二行的,所以a[0][0]為1,而a[0][1]確沒有給值,並不代表沒有值,在c中預設為0;所以a[0][1]為0;

8樓:滑映寒愈霽

應當是這樣

抄寫的吧,int

a[2][2]=,};

這是對襲其初始化,而它又是個二維陣列,以行初始化,第一個花括號中的就是第一行的,第二個花括號是第二行的,所以a[0][0]為1,而a[0][1]確沒有給值,並不代表沒有值,在c中預設為0;所以a[0][1]為0;

9樓:實攸慄燕

不行,宣告陣列,

內部須是數字常量

不過新的c99標準,支援可變長陣列,或許可以比如size=6

inta[size];

[c語言程式設計]24.下列選項中不能正確定義並初始化二維陣列的是_____。 a)int a[

10樓:匿名使用者

a)int a[ ][3]=; //可確定陣列為a[2][3],逐個賦值,一行3個數,其餘為0

b)int a[2][3]=;//容易明白c)int a[2][ ]=; //無法確認一行幾個數,即列數d)int a[ ][3]=,};//逐行賦值,容易確認

11樓:匿名使用者

c,因為二維陣列的最後一個維數不能為空,第一個可以。

12樓:偏執的小偷

答案是c 老說我字數少 但疼

有說明語句int a 3表示什麼意思

薔祀 有說明語句int a 4 5 則a 2 3表示正確引用a 1 3 由題意可知a 2 4 已經越界。最後一個元素a 2 3 引用時下標從0開始,第一行a 0 0 a 0 1 第三行a 2 0 a 2 1 所以最後求解出來a 2 3表示正確引用a 1 3 擴充套件資料 陣列元素的編寫方法 let ...

設有語句int a 3則執行了語句a a a a後,變數a的值是

假面 設有語句int a 3 則執行了語句a a a a 後,變數a的值是 12。先算a a 9 再算a 9 這樣a 6 再算a 6 就是a 6 6 12 任何乙個表示式的最後加乙個分號都可以成為乙個語句。乙個語句必須在最後出現分號。表示式能構成語句是c和c 語言的乙個重要特色。c 程式中大多數語句...

多維陣列int a 3a和a是相同的地址,為什麼a 1和a 1就不一樣了

二維陣列 就是 陣列 的 陣列。把a看出一個一維陣列,那麼每個元素又是一個一維陣列。先把a看成一維陣列,a 0 是什麼東西先不管,那麼 a 也就是第 0 行的首地址。a 1 就是 第二行的 首地址 a 在這裡就是 a 0 的地址 所以 a 1 就相當與 a 0 1 a 1 多維陣列也可以當成一維陣列...