c语言程序的错误

来源:百度知道 编辑:UC知道 时间:2024/06/24 00:12:29
#include <stdio.h>
#define M 3
#define N 4
void fun(int tt[M][N],int pp[N])
{ int i,j;
for(i=0;i<N;i++)
{ pp=tt[0][i];
for(j=0;j<M;j++)
if(tt[j][i]<pp[i]) pp[i]=tt[j][i];
}
}
main()
{ int t[M][N]={ {22,45,56,30},
{19,33,45,38},
{20,22,66,40}};
int p[N],i,j,k;
printf("the original data is:\n");
for(i=0;i<M;i++)
{for(j=0;j<N;j++)
printf("%6d",t[i][j]);
printf("\n");
}
fun(t,p);
printf("\nthe result is:\n");
for(k=0;k<N;k++)
printf("%4d",p[k]);
printf("\n");
}
请问这个程序错在哪,谢谢

少了个下标而已

#include <stdio.h>
#define M 3
#define N 4
void fun(int tt[M][N],int pp[N])
{
int i,j;
for(i=0;i<N;i++)
{
pp[i]=tt[0][i];
for(j=0;j<M;j++)
if(tt[j][i]<pp[i]) pp[i]=tt[j][i];
}
}
void main()
{
int t[M][N]={ {22,45,56,30}, {19,33,45,38}, {20,22,66,40}};
int p[N],i,j,k;
printf("the original data is:\n");
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
printf("%6d",t[i][j]);
printf("\n");
}
fun(t,p);
printf("\nthe result is:\n");
for(k=0;k<N;k++)
printf("%4d",p[k]);
printf("\n");
}

第七行错了
应该是{ pp [i]=tt[0][i];