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

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

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的值是多少啊

墨汁諾 從右往左左運算,a a 36,執行語句a a 36,得到值 30,然後執行語句a a 30,得到值 60。賦值語句,從右到左依次執行 int a 3 a a a a 相當於 a a a a a 然後相當於 a a a a a a a 由於a初始化為3 a a a a 3 3 3 6 a a ...

int a 3,b 5,c c(ab)aba和b的值分別是

在杜鵑谷跳倫巴的埃及狼 首先,是c 中的三元運算子,是條件運算子。此題意思是,賦值a,b分別為3,5。宣告c變數。如果a b為真,則輸出a 否則輸出b 然後判斷 a 3 聽不清啊 執行比較3 4?否,b 於是 b 變成3 a b 的值分別是 3 3 c a b a b 是不是c a b a b 如果...