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

2021-09-11 19:02:47 字數 1851 閱讀 8841

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 老說我字數少 但疼

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

從右往左左運算,a a 36,執行語句a a 36,得到值 30,然後執行語句a a 30,得到值 60,有問題的話可以在hi我!a a 3 3 9 a a a,a a a a 3 9 6a a,a a a 6 6 12變數a的值是 12 a a a 等於a a a a做完後a 的值為 6 之後a ...

為什麼H3C和思科的ike協商不起來啊

有可能是設定問題,也可能是vlan劃分的不對,新的交換機和原來的用一樣的設定看看,還有有可能你的3550進行了埠繫結,或者mac繫結,解除繫結看看 相容性問題比較小,很有可能新的交換機沒劃分vlan,而原來的劃分了,所以就是不通的 你用級聯口接那個h3c的交換機看看,還有你可以用接你h3c交換機的口...

18除以6等於3表示18裡面有3為什麼不對

18裡面有3個6才是 表示18裡面有3個6。除以6就是把6當做一個整體,得數3,表示有3個這樣的整體。應該表示18裡面有3個6 18 3 6表示18裡面有6個3對不對?怎麼理解 對。因為可以理解為求 18裡面有幾個3?幾是要求的數,也就是等號後面的數。還可以理解為 把18平均分成3分,每份是6 18...