怎样消除warning解决方法
怎样消除warning
#include <stdio.h>
#include <stdlib.h>
#define N 10
void inputArray(int *p_,int m,int n)
{
int (*p)[N],i,j;
p=p_;
printf("input %d*%d array:\n",m,n);
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",(*(p+i)+j));
}
}
}
int FindMax(int *p_,int m,int n,int *pRow,int *pCol)
{
int (*p)[N],i,j;
p=p_;
int max=*(*p);
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
if(max<*(*(p+i)+j))
{
max=*(*(p+i)+j);
*pRow=i;
*pCol=j;
}
}
}
return max;
}
int main()
{
int a[N][N],m,n;
int w=0,v=0,max=0;
printf("please input the size of row and col:");
scanf("%d,%d",&m,&n);
if(m<=0||m>10||n<=0||n>10)
{
printf("Input the wrong size of row or col\n");
return 0;
}
else
{
inputArray(a,m,n);
max=FindMax(a,m,n,&w,&v);
}
printf("max=%d,row=%d,col=%d",max,w,v);
return 0;
}
已知函数的声明部分不能改变
------解决思路----------------------
修改如下:
------解决思路----------------------
inputArray同样修改:
------解决思路----------------------
#pragma warning(disable:number)
#include <stdio.h>
#include <stdlib.h>
#define N 10
void inputArray(int *p_,int m,int n)
{
int (*p)[N],i,j;
p=p_;
printf("input %d*%d array:\n",m,n);
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",(*(p+i)+j));
}
}
}
int FindMax(int *p_,int m,int n,int *pRow,int *pCol)
{
int (*p)[N],i,j;
p=p_;
int max=*(*p);
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
if(max<*(*(p+i)+j))
{
max=*(*(p+i)+j);
*pRow=i;
*pCol=j;
}
}
}
return max;
}
int main()
{
int a[N][N],m,n;
int w=0,v=0,max=0;
printf("please input the size of row and col:");
scanf("%d,%d",&m,&n);
if(m<=0||m>10||n<=0||n>10)
{
printf("Input the wrong size of row or col\n");
return 0;
}
else
{
inputArray(a,m,n);
max=FindMax(a,m,n,&w,&v);
}
printf("max=%d,row=%d,col=%d",max,w,v);
return 0;
}
已知函数的声明部分不能改变
------解决思路----------------------
修改如下:
#include <stdio.h>
#include <stdlib.h>
#define N 10
void inputArray(int *p_, int m, int n)
{
int(*p)[N], i, j;
p = p_;
printf("input %d*%d array:\n", m, n);
for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++)
{
scanf("%d", (*(p + i) + j));
}
}
}
int FindMax(int *p_, int m, int n, int *pRow, int *pCol)
{
int(*p)[N], i, j;
//p = p_;
p = (int(*)[N])p_;
int max = *(*p);
for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++)
{
if (max < *(*(p + i) + j))
{
max = *(*(p + i) + j);
*pRow = i;
*pCol = j;
}
}
}
return max;
}
int main()
{
int a[N][N], m, n;
int w = 0, v = 0, max = 0;
printf("please input the size of row and col:");
//scanf("%d,%d", &m, &n);
scanf("%d%d", &m, &n);
if (m <= 0
------解决思路----------------------
m > 10
------解决思路----------------------
n <= 0
------解决思路----------------------
n > 10)
{
printf("Input the wrong size of row or col\n");
//return 0;
}
else
{
inputArray(a, m, n);
max = FindMax(a, m, n, &w, &v);
printf("max=%d,row=%d,col=%d", max, w, v);
}
//printf("max=%d,row=%d,col=%d", max, w, v);
return 0;
}
------解决思路----------------------
inputArray同样修改:
//p = p_;
p = (int(*)[N])p_;
------解决思路----------------------
#pragma warning(disable:number)