c語言for迴圈與二維陣列的問題

2021-03-07 21:50:32 字數 855 閱讀 4379

1樓:sky清水無香

首先你所給的程式就存在錯誤,這是我幫你修改後的程式:

#include"stdio.h"

int main()

,,,},i,k,t;

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

for( k=i+i;k<4;k++)

if(a[i][i]

for( i=0;i<4;i++)

printf("%d,",a[0][i]);

return 0;

}執行後的結果是6,4,3,2.

第一個for迴圈和第二個for迴圈是一起的,即為所謂的雙重迴圈,其中第一個for迴圈是外迴圈,第二個for迴圈是內迴圈,這兩個for迴圈加上內部語句即是「冒泡法」。

最後一個for迴圈的初始條件是i=0,迴圈條件是i<4.

因此此迴圈一共迴圈4次(即i=0,i=1,i=2,i=3).

所以最後輸出的結果是a[0][0],a[0][1],a[0][2],a[0][3],這裡要注意的是結果不是原來的陣列順序,而是經過冒泡法排序後的陣列順序。

希望回答對樓主有幫助。呵呵

2樓:匿名使用者

c語言預設前面兩個for巢狀第三個單獨輸出 ,結果應該是6432吧 ,我想本意是想把主對角線按升序排序吧,但是這段**是不行的a2,2以後的無法執行

c語言怎麼用for迴圈為二維陣列賦值?請舉個例子。

3樓:匿名使用者

給m*n二維陣列賦值1~m*n

for(i=0;i

for(j=0;j

a[i][j]=i*m+j;

c語言二維陣列

因為你的s是一個二維陣列。如果你的s是一維陣列,像s 20 這樣,那麼在gets時不需要加 0 你定義的s是個二維陣列,並且是char型別,所以每一行存放一個字串。s n 代表第n 1行,而gets時的引數需要是一個字串指標,或者字串陣列名,所以這裡必須要寫作gets s n 其中0 n 20 我明...

c語言中二維陣列的定義問題C語言中二維陣列的定義問題

正確寫法如下 char fd jgf1 maxitemlen 1 說明 把null去掉 1.二維陣列的第一個維度預設是 舉個例子 int tar 2 因為大括號中有4個元素,而且第二個維度是2,所以就可以計算出來第一維度是2.所以是可以預設的。2.你的這個例子中,第一維預設的應該是 7 8 1 ma...

c語言中的二維陣列a可以表述為a

這個表述是有問題的,a 1 j 沒有規定首地址,a 1 已經表示a 1地址中的資料了,明顯與陣列概念不合。a a j 裡面陣列名稱和一個維度的陣列的個數表示重疊了,所以我換一種方式來表示 a y x 為了便於理解,假定y 3,x 2。在陣列中的資料有y行,x列 也就是3行,2列。假定第一行資料為 第...