1樓:ok洛陽水席
#include
int main()
sum=0;
for(i=0;i<5;i++)
return 0;
}樓主基本沒有大錯誤,只是不夠仔細,用來儲存特定值的變數使用前一定要初始化,如本例中的最大值,最小值,下標,都是必須初始化的!
整型與整型運算會得到整型,1/2=0,5/4=1;系統會捨去小數部分。只要將其中一個提升至浮點型即可,如1.0/2,5/4.
0,如果是兩個整型變數,可以寫成(float)a/b,即可使得得到浮點型結果!
2013 5 25 7:05
1l耗時 4min
2樓:匿名使用者
第七行scanf("%d",&arr[5][6]);這句就有問題了,首先應改為scanf("%d",&arr[i][j]);還有其他錯誤,修改後:
#include
int main()
max=arr[0][0];
for(i=0;i<5;i++)
for(j=0;j<6;j++)
if(maxarr[i][j])
else ;
for(i=0;i<5;i++)
} }
return 0;}
3樓:匿名使用者
scanf("%d",&arr[5][6]);
應該改為:
scanf("%d",&arr[i][j]);
c語言關於定義二維陣列的問題
4樓:焮欣
首先你要理解二維陣列的真正含義,它的第一維就是一組資料的起始地址,第二維就是某組資料中的某個值.其次,你要知道a[4]所表達的意思,是指二維陣列a的每一維都是由4個元素組成的一維陣列.而編譯器可以根據你賦給a的初值個數計算它的第一維長度(元素總個數/4,如果不能整除,則長度加1,此時還應該有幾個沒有賦初值的陣列元素).
而a[3]的意思從表面上看可以成立,但問題是編譯器不能直接識別其第二維的確切長度(你可以考慮,如果總的初值個數為2時,可以認為a的第二維長度為1,也可以是2,.......),這樣就會產生錯誤.所以,可以a[4]=這樣定義,而不能定義a[3]=。
對於你補充的問題,其實我已經講了.因為賦初值是5個元素,所以5/4=1,但除不盡,所以要加1,即實際陣列a實質上定義為a[2][4],其內元素為:
1 2 3 4
5 0 0 0 (後面的三個0是系統預設值)希望對你有所幫助.^-^
5樓:匿名使用者
首先 假如定義一個一維陣列 int ary;
缺少了一維陣列的長度 系統無法按大小分配空間;
但假如int ary = ;
就可以根據初始化的元素個數來把ary定義成相當於ary[2];
這應該能懂
再次c語言中沒有多維陣列的概念 我們平常說的二維陣列其實是「陣列的陣列」 c語言對多維陣列的定義也是定義成
"陣列的陣列的陣列的..."
所以 當定義二維陣列int a[4] = ;
其實是 「定義了兩個以[4]為長度的陣列」(這說法可能不準確)所以在定義二維陣列並初始化時 需要指明第二維的長度 好讓編譯器根據初始化元素的個數來確定陣列的大小
文字表述欠缺專業 但 意思是這樣 希望能明白呵呵
6樓:佳樂比海
主要是分配記憶體的問題.
a[i][j]是陣列的陣列,意思是定義i個元素的陣列,每個元素都是一個含有j個元素的陣列.
a[4]是定義了n個含有4個元素的陣列,如:
a[4]=,,}是定義了3個"含有4個元素的陣列"的陣列.雖然3個自定義的,但是是確定的數字。程式可以分配記憶體.
而a[3]是定定義了3個"含有n個元素的陣列"的陣列.如:
a[3]=},由於n的值是不確定的(如上有3個的,2個的),所以程式無法為這個陣列分配記憶體空間.
c語言中二維陣列的定義 30
7樓:司馬刀劍
二維陣列定義的一般形式是:
型別說明符 陣列名[常量表示式1][常量表示式2]其中常量表示式1表示第一維下標的長度,常量表示式2 表示第二維下標的長度
int a[3][4];
8樓:丨紅色石頭
好像是陣列後面的賦值和前面的陣列長度不能同時為空的吧
c語言中二維陣列下標問題
9樓:嘟
a可以理解為二重指標,a[0]理解指標,a[0][0]是對這個地址進行訪問了
。其實回[ ]的意義 可以理解成* 。
a[ i ]其實就相當於*(a+i) 所以原答來的就相當於 *(*(a+i)+j) +的優先順序比 *的高 所以外面那個括號可以去掉 就變成了 **(a+i)+j 。
明白了嗎?
10樓:朱豬丹
這裡a指的是整個陣列,而a[0]指二維陣列第一行的元素,a[0][0]指陣列中的第一個元素。
11樓:匿名使用者
a為二重指標,a[0]是指標,a[0][0]是元素,
12樓:匿名使用者
樓上回答的不錯,頂一個。
c語言二維陣列賦值問題 100
13樓:gta小雞
先直接將陣列所有元素賦為0,然後按照使用者輸入逐個給元素賦值,這樣沒有賦值到的元素自然是0。
關於C語言定義二維陣列的問題,c語言關於定義二維陣列的問題
以下能正確定義二維陣列的是 以下能正確定義 陣列的是 去掉二維兩字 a int a 3 語法錯,沒帶初始化,不允許用 空白 不允許 陣列大小不定。b int a 正確定義了陣列,是一維陣列,陣列元素只有1 個,初始化數值為 2 3 就是 6。c int a 3 語法錯,花括號裡沒填初始化數值。d i...
c語言二維陣列問題
寫完以後我發現有點長,樓主給點耐心看,不懂我們再交流 a是整個二維陣列的首地址,short長度為2,sizeof a 2 5 5 50 a 1指向二維陣列的第二個元素,它僅僅是一個指標,如果在a 1前面加一個 號,就是第二個元素的值,即a 0 1 所以,a 1是一個指標,它指向二維陣列中的某個數,指...
C語言的問題關於二維陣列的
從二維陣列的角度來看,a是二維陣列名,a代表整個二維陣列的首地址,也是二維陣列0行的首地址a 1代表第一行的首地址。int a 3 4 設陣列a的首地址為1000。a 0 是第一個一維陣列的陣列名和首地址,因此也為1000。a 0 或 a是與a 0 等效的,它表示一維陣列a 0 0 號元素的首地址,...