使用指针方式输入及输出二维数组元素:要求定义一个3行4列的二维数组(数组内的值用scanf输入)?
这个程序有点问题,visualC++运行不了,Dev-C++能运行。请各位看看原因。#include<stdio.h>#defineM3#defineN4intmain(...
这个程序有点问题,visualC++运行不了,Dev-C++能运行。请各位看看原因。
#include <stdio.h>
#define M 3
#define N 4
int main()
{
int a[M][N];
int (*p)[N];
int i,j;
p=a;
int maxi,maxj,max;
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
{
scanf("%d",*(p+i)+j);
}
}
maxi=maxj=0;
max=a[0][0];
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
{
printf("%4d",*(*(p+i)+j));
if(max<*(*(p+i)+j))
{
max=*(*(p+i)+j);
maxi=i;
maxj=j;
}
}
printf("\n");
}
printf("maxis a[%d][%d]:%d\n",maxi,maxj,max);
return 0;
} 展开
#include <stdio.h>
#define M 3
#define N 4
int main()
{
int a[M][N];
int (*p)[N];
int i,j;
p=a;
int maxi,maxj,max;
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
{
scanf("%d",*(p+i)+j);
}
}
maxi=maxj=0;
max=a[0][0];
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
{
printf("%4d",*(*(p+i)+j));
if(max<*(*(p+i)+j))
{
max=*(*(p+i)+j);
maxi=i;
maxj=j;
}
}
printf("\n");
}
printf("maxis a[%d][%d]:%d\n",maxi,maxj,max);
return 0;
} 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询