1樓:匿名使用者
int i,j,a[3][4],b[12];
int n=0;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
就baiok了!
給點du辛苦分
zhi吧dao!謝謝專!!屬!
2樓:匿名使用者
可以採用兩種
來方式:
1 按元素賦自
值:遍歷
bai一維陣列,並將每個元素賦值到二du維陣列的對應元zhi素上。dao
或者遍歷二維陣列,將每個元素賦值為一維陣列對應值上。
優點為操作靈活,可以按照需要任意賦值。
2 當一維陣列和二維陣列型別相同,而且賦值順序與一維陣列中的儲存順序完全相同時,可以用memcpy的方式,直接一次性賦值。
如一維陣列為a,二維陣列為b,基礎型別為type,需賦值元素個數為n,可以呼叫
memcpy(b,a,sizeof(type)*n);
該方法有點為操作簡單,執行效率高。
不過所需滿足的前提條件多。在滿足上述所有條件時,用memcpy的方式更為簡單。
c語言中能把一個二維陣列的值賦給一個一維陣列嗎
3樓:匿名使用者
當然可以了。抄
例如:襲
#include
void main()
,b[4];
for(i=0;i<2;i++)
for(j=0;j<2;j++)
for(k=0;k<4;k++)
printf("%d ",b[k]);
}執行bai結果:
就是將一個du2×2的二維陣列的值zhi按順序賦給一dao個一維陣列。
4樓:匿名使用者
問題不詳細
如果是把二維陣列的其中一行,賦值給一個一維陣列,且其型別相同, 是可以的
5樓:匿名使用者
當然可以只要用迴圈結構就可以了,一個一個賦值
請問,c語言中如何取二維陣列某一列,並轉化為一維陣列?越簡單越好,謝謝!!
6樓:
迴圈賦值:
#define m 5
#define n 6
float x2[m][n]; //m 行 n 列float x1[m]; // 存取來的某內列int i,l;
l = 2; // 取某容列
for (i=0;i 7樓:匿名使用者 a[3][2]= b[3] for(i=0;i<3;i++) b[i]=a[i][2]; 賦值後b[3]= 8樓:匿名使用者 #include void main() ;int b[3],i; scanf("%d",&l);//輸入 抄要襲取的列號 for(i=0;i<3;i++) b[i]=a[i][l];} 正確寫法如下 char fd jgf1 maxitemlen 1 說明 把null去掉 1.二維陣列的第一個維度預設是 舉個例子 int tar 2 因為大括號中有4個元素,而且第二個維度是2,所以就可以計算出來第一維度是2.所以是可以預設的。2.你的這個例子中,第一維預設的應該是 7 8 1 ma... 這個表述是有問題的,a 1 j 沒有規定首地址,a 1 已經表示a 1地址中的資料了,明顯與陣列概念不合。a a j 裡面陣列名稱和一個維度的陣列的個數表示重疊了,所以我換一種方式來表示 a y x 為了便於理解,假定y 3,x 2。在陣列中的資料有y行,x列 也就是3行,2列。假定第一行資料為 第... 因為你的s是一個二維陣列。如果你的s是一維陣列,像s 20 這樣,那麼在gets時不需要加 0 你定義的s是個二維陣列,並且是char型別,所以每一行存放一個字串。s n 代表第n 1行,而gets時的引數需要是一個字串指標,或者字串陣列名,所以這裡必須要寫作gets s n 其中0 n 20 我明...c語言中二維陣列的定義問題C語言中二維陣列的定義問題
c語言中的二維陣列a可以表述為a
c語言二維陣列