以下正確的數組定義語句是()A int y[1][4]={1,2,3,4,5,} B float x[3][]={{1
這個題在于對二維數組的理解。
二維數組即是A[m][n]表示一個m行n列的數組,數組種元素的個數是m*n個,例如int y[1][4]表示一個1行4列的數組,包含1*4=4個元素,而且不能寫成int y [1,4]。從數學的角度理解,二維數組即是矩陣。
二維數組的使用規則如下:
1、行下標(m)、列下標(n)從零開始,知道定義的值減1結束。
2、二維數組初始化的類型:
1)分行給二維數組賦值。例如:
int y[2][3]={{1,2,3},{4,5,6}};表示在這個2行3列的二維數組里,第一行是1,2,3;第二行是4,5,6。
2)所有元素寫在一個花括號中。例如:
int y[2][3]={1,2,3,4,5,6};
3)對部分元素賦值。例如:
int y[2][3]={{1},{4}};表示給第一行第一個數字賦值1,給第二行第一個數字賦值4;其余未賦值的元素均為0.
3、二維數組的行下標不一定要說明,列下標必須說明。例如:
int y[][3]正確,int y[2][]錯誤。
綜上所述,A錯誤,A中元素只有1*4=4個,而后面寫了5個數字;B錯誤,B的列下標沒有說明。
希望幫到你。
以下數組定義語句中,錯誤的是
二維數組a[x][y]可以看做是一個由x個a[y]組成的數組。
如果我們知道y,不知道x,(1)如果有賦的初值,可以計算出x,是沒問題的。
(2)如果沒賦初值,計算不出x,計算機沒法給這個數組分配空間,所以計算機會認為這樣是錯的。
但是如果我們知道x,而不知道y,那么計算機無法計算,沒法分配空間,計算機會認為是錯的。
比如B選項,知道它是由x個a[3]組成,那么根據它的賦值可以得到它的值是這樣的a[][3]={{1,2,3},{4,5,6},{7,8,9}},那可以得到是a[3][3]。
A選項沒有賦初值,計算機沒法計算那個空白值,所以是錯的。
D選項這個數組可以成功創建,賦初值可以全部賦值,也可以賦一部分值,那么計算機會把其余值默認為0,所以是沒問題的。