|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
代码:
/*****************************
*输出二维数组的任意行、列的值*
*****************************/
#include <stdio.h>
int zhizhen(int (*p)[],int x,int y);
void main()
{
int a[5][5]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24};
int i,j,(*p)[5],u,v;
p=a;
printf("请输入行数和列数用空格分开,以回车结束\n");
scanf("%d%d",&i,&j);
zhizhen(p,i,j);
}
int zhizhen(int (*p)[],int x,int y)
{
int u,v;
for(u=0;u<5;u++)
{
for(v=0;v<5;v++)
{
if((x==u) && (y==v))
{
printf("%d\t",*(*(p+u)+v));
}
else
{
printf("?\t");
}
}
printf("\n\n\n");
}
}
这是错误提示:
--------------------Configuration: zhizhen - Win32 Debug--------------------
Compiling...
zhizhen.c
E:\1\zhizhen\zhizhen.c(13) : warning C4048: different array subscripts : 'int (*)[]' and 'int (*)[5]'
E:\1\zhizhen\zhizhen.c(13) : warning C4024: 'zhizhen' : different types for formal and actual parameter 1
E:\1\zhizhen\zhizhen.c(9) : warning C4101: 'u' : unreferenced local variable
E:\1\zhizhen\zhizhen.c(9) : warning C4101: 'v' : unreferenced local variable
E:\1\zhizhen\zhizhen.c(24) : error C2036: 'int (*)[]' : unknown size
执行 cl.exe 时出错.
zhizhen.obj - 1 error(s), 0 warning(s)
但是把int zhizhen(int (*p)[],int x,int y);改成int zhizhen(int (*p)[5],int x,int y);后(当然,下面也相应的改正),此程序运行是没有问题的,一维数组就可以不定义数组的大小,那么二维数组是必须定义大小呢还是我程序哪里有问题呢? |
|