#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main(){
int a[5][5] = {};
int m, n;
int i,j,temp;
for(i = 0;i < 5;i++)
{
for(j = 0;j < 5;j++)
{
scanf("%d",a[i][j]);
printf("%d\n",&a[i][j]);
}
printf("\n");
}
printf("输入交换行m,n的值:\n");
scanf("%d,%d",&m,&n); //注意要交换的行数,与数组内m,n相差1
m=m-1;
n=n-1; //不可使用 m--,n--,因为系统会认为没赋值便执行运算
for(i=0;i<5;i++){
temp = a[m][i];
a[m][i] = a[n][i];
a[n][i] = temp;
}
printf("输出:\n");
for(i = 0;i < 5;i++)
{
for(j = 0;j < 5;j++)
{
printf("%d",a[i][j]);
}
printf("\n");
}
}
给你改好了
确实是scanf
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main(){
int a[5][5] = {};
int m, n;
int i,j,temp;
for(i = 0;i < 5;i++)
{
for(j = 0;j < 5;j++)
{
scanf("%d",&a[i][j]); //这里取地址
printf("%d\n",a[i][j]); //这里不取地址
}
printf("\n");
}
printf("输入交换行m,n的值:\n");
scanf("%d,%d",&m,&n); //注意要交换的行数,与数组内m,n相差1
m=m-1;
n=n-1; //不可使用 m--,n--,因为系统会认为没赋值便执行运算
for(i=0;i<5;i++){
temp = a[m][i];
a[m][i] = a[n][i];
a[n][i] = temp;
}
printf("输出:\n");
for(i = 0;i < 5;i++)
{
for(j = 0;j < 5;j++)
{
printf("%d",a[i][j]);
}
printf("\n");
}
}