奥尔森姐妹星光大道:C语言矩阵问题.我这是哪里错了?

来源:百度文库 编辑:高校问答 时间:2024/05/05 23:08:46
int i,j,a[5][5],t;
void input()
{
for(i=0;i<=4;i++)
for(j=0;j<=4;j++)
scanf("%d",a[i][j]);
}
void output()
{for(i=0;i<=4;i++)
{for(j=0;j<=4;j++)
{printf("%5d",a[i][j]);}
printf("\n");
}
}

void change()
{
for(i=0;i<=4;i++)
{for(j=i;j<=4;j++)
{t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;}
}
}

void main()
{

input();
printf("Old:\n");
output();
change();
printf("New:\n");
output();
}
帮忙看看这个程序哪里错了
总是提示null pointer assignmen

int i,j,a[5][5],t;
void input()
{
for(i=0;i<=4;i++)
for(j=0;j<=4;j++)
scanf("%d",&a[i][j]);
}
void output()
{for(i=0;i<=4;i++)
{for(j=0;j<=4;j++)
{printf("%5d",a[i][j]);}
printf("\n");
}
}

void change()
{
for(i=0;i<=4;i++)
{for(j=i;j<=4;j++)
{t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;}
}
}

scanf("%d",&a[i][j]); 少了一个个&符号!!无法读取输入的值,所以系统默认赋初值0!!!
加一个&就OK了!!
我的QQ:372438154

scanf("%d",&a[i][j]);

我用VC6.0给你调试了一下.你只要在最前面加上#include<stdio.h>就没有问题了.