C語言題求問已知int a 23,2,1則表示式“a”的值是 B

時間 2021-08-14 06:07:21

1樓:

首先a[0][0]=3;a[0][1]=2;a[0][2]=1; 而且都是int整型,所以結果也是整型3/2/1=1

2樓:請叫我路人已

3*2排放是:a[0][0] ,a[0][1], a[1][0],a[1][1], a[2][0],a[2][1]

首先 a[0][0]=3 a[0][1]=2 a[0][2]=1

因此 3/2=1 1/1 =1

3樓:

a[0][0]是3,a[0][1]是2,a[0][2]是1,3/2/1答案是1

不懂的話可以問我

4樓:匿名使用者

二維陣列的實際上在記憶體裡儲存格式是一維的

也就是a [3][2]

佔用了 3*2 個int 型別資料的 連續記憶體空間

排放的模式是:

a[0][0] ,a[0][1], a[1][0],a[1][1], a[2][0],a[2][1]

為了表示方便,我打了空格分開了,其實是連續儲存的,只是邏輯上認為是二維的而已.

那麼考慮初始化的問題,int a[3][2]=; 分別賦值給了a[0][0] ,a[0][1], a[1][0]

現在考慮 a[0][2]到底是什麼

a[0][2]其實被編譯器解釋為 *( (*a+0 ) + 2) ,a是陣列首地址,

在c/c++編譯器裡,陣列越界是不檢查的,再考慮上面的儲存格式

也就是說 ,*( (*a+0 ) + 2) 這個值應該是指向了 *( (*a+0 ) + 1) =a[0][1] 隔壁的傢伙

現在你知道是誰了吧,a[1][0]

所以a[0][2]就是a[1][0]=1;

後面的簡單算術問題我就不解釋了.

ps,不完全初始化話,沒有賦值的元素都會被編譯器弄成0.

c語言 int a[2][3]={{1},{2,3}};,則a[1][0]的值是_________要詳解。。。

5樓:虞明明

a[1][0]的值是2

int a[2][3]即定義了一個二維陣列,每維長度為3令int a[2][3]=,};相當於int a[2][3]=,};編譯器會自動幫你把每一維版不足的部分以0填充。權

a[1][0]為第二維第一個元素,即,};中的2

c語言高手請進……**等 int a[ ] [3] = {{1,0,2},{ },{2,3}}; 這個語句有什麼錯誤?

6樓:

二維陣列 只有第一維是確定的時候才能寫第二維的長度 你可以兩個都不寫

而且你這個陣列的第二維的長度是不一樣的 你又怎麼能定義成3呢

7樓:匿名使用者

一樓的不會別誤導別人好不?第二維才是不能為空的。第一維可以為空,第二維一定一定不能為空。

這個的錯誤確實中間那個{}的問題,一定至少要有一個值的。假如只有賦值一個值,那後後面的系統自動賦值為0.

8樓:匿名使用者

或者寫成 int a[3][3]=,{},}或者寫成 int a[3]=,,} 你不要為省事而懶得寫,那樣機器識別不了

9樓:德昂當

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

{}裡面不能空著,不想賦值,也得隨便寫個數.

10樓:匿名使用者

n維陣列中的前n-1維中的值不能省略,除非你把每n維陣列的個數都寫出來。

例如:a=;或a[3]=...

a[3]=,,};或a[3][3]=..

a[3][2]=,},,,,}};或a[1][3][2]......

sta***r1983的回答是正確的

11樓:匿名使用者

寫**的時候一定不要開輸入法,你寫的分號是全形的,刪了重新寫。

還有多餘的空格不要隨便留。

你寫的語法完全沒有問題。

既然談到外部陣列了,那你更不能在這個檔案裡面初始化了,只能用語句初始化。 在哪兒定義了在哪兒初始化,你要用它的話只能用extern申明。

12樓:匿名使用者

主要是{}有問題,你試著放個0進去

13樓:匿名使用者

答:提問者主動宣告排除了書寫時出現輸入法切換導致的書寫錯誤的可能,單從這句來看語法方面沒有任何錯誤,錯誤關鍵在於你問題補充時的一句“外部陣列”!

說明:1.c語言中二維陣列初始化時第二維不可以省略,而第一維是可以省略的;

2.外部陣列只能在原檔案中加外部全域性變數extern初始化後在外部引用,因此不能在此程式中對外部陣列變數進行初始化;

以下為測試源**以及 linux gcc下編譯執行結果:

#include

int main()

,{},};

for(i = 0;i < 3;i ++)return 0;

}執行結果:

1 0 2

0 0 0

2 3 0

以事實說話,實踐才是真理……

14樓:未來2過去

改為int a[ ][3] = ,,,0};

求一道C 或C語言程式設計題,求一道c語言程式設計題目,急!!!先謝謝啦!!! 20

自我程式設計 根據你題意 c語言編寫 1,要使用遞迴函式。2,遞迴層數對應數學位數。我這裡自定義函式int checknum int num,int w 就是你要的型別。其功能是判斷數字num是否是w位數的數字,是返回1,否返回0。w控制遞迴的層數。按照位數輸出1到n的整數。include int ...

C語言求問錯哪了

你這個問題不對,要求輸出該字串中大寫字母a到z的子串長度,這個包括頭尾的a和z麼,如果包括,那長度應該是10,這時候應該是return r q 1 也就是10。如果不包括頭尾的a和z,那這時候是return r q 1 也就是8。這種邏輯你自己數一下也數出來了,你看你輸入的字串,a的相對是7,z的位...

高分求程式設計c語言已知2點求角度

從高的抽象層面想問題,從具體的層面做事情!給出方法 設兩點為p1 x1,y1 p2 x2,y2 則向量p1p2 x2 x1,y2 y1 x軸的單位向量e 1,0 則直線p1p2與x軸的所成角的為 a,則 cos a x2 x1 sqrt x2 x1 2 y2 y1 2 1 通過反餘弦函式可求的 a ...