在int a313,24,5,60中,a的值是A 3 B 2 C 6 D

時間 2021-10-17 05:13:04

1樓:

相當於初始化陣列

int a[3]=

這個初始化對於這個陣列的前7個元素分別初始化為1,3,2,4,5,6,0,剩餘則全部初始化為0;

這個陣列是2維陣列,給出第2維長度為3,那麼編譯器根據初始化的情況對第一維長度進行判斷,給出能容納所有初始化數值的最小長度。這裡編譯器應該選擇a[3][3],即初始化了個3x3陣列,一共9個元素。

c語言裡下標都是從0開始的

a[2][2]代表第9個元素,應該等於0

各位當然不是下標越界,測試程式如下

#include

int main()

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

printf("%u",sizeof(a)/sizeof(int));

return 0;

}測試結果,輸出:09

2樓:金色潛鳥

題目是否抄錯了?

int a[3]=,,,} 中

a[1][0]=3,a[1][1]=2,a[1][2] 沒有值, a[1][2]=0 啊。選項中沒有啊!

a[2][0]=4, a[2][1]=5, a[2][2]=6. 題目問 a[2][2] 嗎?

3樓:匿名使用者

a[2][2]=0.

int a[ ][3]=;

定義一個每行三個元素但行數不確定的陣列a。

初始化時決定行數。每給三個數就多一行。

最後不夠三個的系統預設初始化為0。

4樓:匿名使用者

a[0][0]=1

a[0][1]=3

a[0][2]=2

a[0][3]=4

a[1][0]=5

a[1][1]=6

a[1][2]=0

a[1][3]=null

a[2][2]下標越界

在執行int a[][3]={1,2,3,4,5,6}; 語句後,a[1][0]的值是 a: 1 b: 2 c: 4 d: 5 10

5樓:匿名使用者

選c。首先根據題目的條件,a中一共有6個元素,a的第2維的大小是3,也就是說,a是一個2行3列的矩陣。

對於二維陣列,是先排滿一行,再排一行的。也就是說,a的實際排列為[1, 2, 3]

[4, 5, 6]

所以,a[1][0]就是第2行,第1列的元素,為4。

程式執行如下:

12. 若有說明:int a[][3]={1,2,3,4,5,6,7};則陣列a第一維的大小是( )。

6樓:格子裡兮

若有說明:int a[3]=;則陣列a第一維的大小是3。

int a:第一個中括號表示有此二維陣列有幾行,第二個表示有幾列。

故int a[3]=;說明此陣列有n行,3列;也就是說每行有三個元素,所以第一行有1,2,3 這三個元素,第二行有4,5,6三個元素,第三行有7這個元素,不足的兩個元素由0來補足。

對陣列進行初始化,要麼兩個維度都不寫,由賦值的陣列確定,或者第二維可以不寫,第一維要寫,再由賦值陣列確定。

陣列中的下標是從 0 開始的(而不是 1)。那麼,如何通過下標表示每個陣列元素的呢?通過“陣列名[下標]”的方式。

例如“int a[5];”表示定義了有 5 個元素的陣列 a,這 5 個元素分別為 a[0]、a[1]、a[2]、a[3]、a[4]。其中 a[0]、a[1]、a[2]、a[3]、a[4] 分別表示這 5 個元素的變數名。

如果從 1 開始,那麼陣列的第 5 個元素就是 a[5],而定義陣列時是 int a[5],兩個都是 a[5] 就容易產生混淆。而下標從 0 開始就不存在這個問題了!所以定義一個陣列 a[n],那麼這個陣列中元素最大的下標是 n–1;而元素 a[i] 表示陣列 a 中第 i+1 個元素。

另外,方括號中的常量表示式可以是“數字常量表示式”,也可以是“符號常量表示式”。但不管是什麼表示式,必須是常量,絕對不能是變數。

c 語言不允許對陣列的長度進行動態定義,換句話說,陣列的大小不依賴程式執行過程中變數的值。非通常的情況為動態記憶體分配,此種情況下陣列的長度就可以動態定義。

7樓:匿名使用者

int a;第一個中括號表

示有此二維陣列有幾行,第二個表示有幾列;

故int a[3]=;說明此陣列有n行,3列;也就是說每行有三個元素,所以第一行有1,2,3 這三個元素,第二行有4,5,6三個元素,第三行有7這個元素,不足的兩個元素由0來補足

故此定義下陣列a第一維的大小是3

8樓:匿名使用者

若有說明int a[3][4];則對a陣列元素的正確引用是 a[1][3]。a[2][4]越界了最後一個元素a[2][3] 引用時下標從0開始第一行a[0][0] a[0][1]。

。。第三行a[2][0] a[2][1]。。。程式1。

//定義為區域性性質的陣列#include void main() printf("

");}。

9樓:匿名使用者

3,除錯一下就知道了

int b[ ][3]={{1},{3,2},{4,5,6},{0}};中b[2][2]的值為()

10樓:清山媚水

我的回答:

int b[ ][3]=,,,};

因為初始化資料時使用大括號,表示陣列為4行:b[4][3]它的元素是:

b[0][0],b[0][1],b[0][2]b[1][0],b[1][1],b[1][2]b[2][0],b[2][1],b[2][2]b[3][0],b[3][1],b[3][2]初始化b[ ][3]=,,,}相當於

用下列資料初始化(一行的資料不全,表示為0)1 0 0

3 2 0

4 5 6

0 0 0

和上面的變數表對對號,b[2][2] 是 6

11樓:匿名使用者

為6.你把大括號裡的每個陣列看成行:

13,2

4,5,6

0每行有3個元素,沒有寫明數字的就為0。

12樓:匿名使用者

int b[ ][3]=,,,};你這樣寫,實際上陣列為:b[4][3],

因為你在對b賦值的時候,大括號裡使用了4個括號,數字實際上是這樣了:

b[0][3]=; 本來一行有3個元素,但你只賦了一個值,其他的系統會預設給0

b[1][3]=;

b[2][3]=;

b[3][3]=;

看到這裡你應該知道b[2][2]是多少了吧 5;

13樓:

你是這樣子賦值的:

13 2

4 5 6

0所以b[2][2]=6

14樓:衛國者黑鷹

你的題目等價於 int b[4][3]=,,,};

所以b[2][2]=6;

若有以下定義,則陣列元素a[2][2]的值是( ) int a[][3]={{1,2},{3,2,4},{4,5,6},{1,2,3}};

15樓:書一卷世情變幻

a[2][2]=6。

在c語言中,a[常量1][常量2]=,常量1可以沒有,但是常量2必須有。在編譯器進行編譯時,會有這兩種情況,下面分別說明。

1、若指定了 常量1、常量2的值,為了方便說明,先假設常量1=2、常量2=2,那麼a[0]=,a[1]=。例如,a[2][2]=,那麼a[0]=,a[1]=。

2、若常量1沒有時,會按照常量2的數值來設定一組資料的個數,組數不限。例如,a[2]=,那麼a[0]=,a[1]=,a[2]=。

16樓:戊問鮃

int a[3]=,,,};這樣就是陣列應該是a[4][3],4行3列,第一行是1,2,0,第二行是3,2,4,以此類推,所以a[2][2]是6,不懂hi我

17樓:沒有響應

值是6陣列的下標是0開始的所以

a[2][2]就是a陣列第三個元素也就是 4,5,6這個陣列 這個陣列第三個元素就是6

18樓:匿名使用者

答案6這個陣列a 就相當於

1 23 2 4

4 5 6

1 2 3

而超始下標為0 去裡面找找看a[2][2]是幾?

若有定義int a [][3]={1,2,3,4,5,6,7,8,9},則表示式size of(a)/size of(a[0])的值為多少

19樓:十張樹

若有來定義int a [3]=,則表示式size of(a)/size of(a[0])的值為

對於一個整型二維陣列,size of(a)=9 即實際內容所佔的大小;

a[0] 是指第0行的3個元素 因而size of(a[0])=3;

最後答案就是 9/3=3;

20樓:匿名使用者

對於一個整型二維陣列,size of(a)=9 即實際內容所佔的大小

a[0] 是指第0行的3個元素 因而size of(a[0])=3

最後答案就是 9/3=3

21樓:匿名使用者

sizeof(a)=9; sizeof(a[0])=3, 故9/3=3.

int a[3] [3] ={1,2,3,4,5,6,7,8,9};

22樓:我才是柳隨風

這個二維陣列

實際上是一個有3個元素的一維陣列,其中陣列的元素又是一個有3個元素的一維陣列。

我們先按行優先重新排列一下:

int a[3][3]=

;c和c++中的陣列是從0開始編號的,

第1行:a[0][0],a[0][1],a[0][2]第2行:a[1][0],a[2][1],a[1][2]第3行:

a[2][0],a[2][1],a[2][2]再看你要取的值:a[1][3]在**呢?顯然在a[1][2]之後,但該值已經超出了陣列的界限(陣列有3個元素),即下標溢位了,溢位到了**呢?

因為c/c++中多維陣列(儲存方式)相當於連續的一維陣列,因此,這裡它的溢位位置恰好是a[2][0]所在的位置。

現在可以給你答案了:a[1][3]=7

23樓:匿名使用者

不知道,因為a[0][0]表示第一行第一列,a[0][1]表示第一行第二列

a[1][0]表示第二行第一列,而a[1] [3]表示第二行第四列,而這個陣列是3行3列的,所以不知道a[1] [3]等於多少,沒定義

24樓:今天最慘痛

7a[3][3] 就是3行3列

a[1][3] 就是第2行第4列(因為陣列下標是從0開始記的),但是陣列裡沒有第4列,順著往下數,就是第3行的第一列,就是7.

25樓:馮益斌

賦值後,a的元素為

1,2,3,4,5,6,7,8,9

4,5,6,7,8,9

7,8,9

a[1] [3]=7

26樓:

0列 1列 2列

0行 1 2 31行 4 5 62行 7 8 9a[1] [3]=6

27樓:匿名使用者

越界了,但是由於二維陣列的線性儲存性質,

a[1][3]可能是a[2][0]這個資料,也就是7

我只能說可能啊,

28樓:匿名使用者

沒有,最多到a【1】【2】

29樓:

輸出值為7.題一點問題都沒。

在C 中,int a 6,b 7,c,d d c a,b 15 分別求出a,b,c,d的值

a 6,b 7,c 6,d 22 這裡不好理解是d c a,b 15 括號內完成了兩個事 1,c a,即為c賦值 2.完成b 5賦值給d. 直接給你解釋這句d c a,b 15 編譯器會這樣進行操作,因為括號優先所以先括號,c a 再進行逗號運算 b 15 最後進行賦值運算 d b 15 因為b 1...

C 中,intp 和int a怎麼會是型別呢

int b 2 是一維陣列,其位址型別是 int int a 1 2 是二維陣列,其位址型別是 int 2 凡是陣列指標都涉及乙個概念,那就是元素對齊和列對齊。什麼是元素對齊?int b 2 定義了乙個一維陣列,該陣列每個元素型別是int,而乙個int資料占用記憶體4位元組 32位系統 也就是說元素...

C 中如下定義是否合法,int a 41,2,3,45,6,78,

不合法二級 最多只能3對,你定義的是3行4列的陣列,初始化列表卻是4行的,不行的 不合法,a只定義3行,但是初始化裡有四對大括號,這是唯一錯誤。注意,每個大括號裡最多四個元素,這是對的,允許有少於四個,錯誤不在這裡。 可以,我回答你主提問的那問,因為你寫出的式子不一致。和int a 3 4 1,2,...