函数问题请教,谢谢回复

来源:百度知道 编辑:UC知道 时间:2024/05/31 06:40:29
我写一个函数,想把二维数组的每一行按顺序输出,为什么这个编译不过去啊?哪错了?谢谢指导!!

#include <stdio.h>

main()
{
int a[3][4];
int i,j;
int a1(int b[3][4]);
printf("please input a:\n");
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
printf("new a:\n");
for(i=0;i<3;i++)
for(j=0;j<4;j++)
printf("%d",a1(a));
getch();
}

int a1(int b[3][4])
{
int i,j,k,x=0;
for(i=1;i<4;i++)
{
k=i;
for(j=i+1;j<4;j++)
if(b[j]<b[k]) k=j;
if(i!=k)
{x=b[i];b[i]=b[k];b[k]=x;}
}
}

你所谓的"想把二维数组的每一行按顺序输出",是什么意思?

是不是int a[3][4];

把a[0][0],a[0][1]...a[0]4],a[1][0].....a[2][0].....a[3][4]全printf出来?

如果是的话,不需要另选function
直接就可以

#include <stdio.h>

main()
{
int a[3][4];
int i,j;

for(i=0;i<3;i++){
for(j=0;j<4;j++){
printf("please input a:\n");
scanf("%d",&a[i][j]);
}
}
// input finished

for(i=0;i<3;i++)
for(j=0;j<4;j++)
printf("%5d",a[i][j]);
}