二维数组传递函数.

saishow 2010-06-08 12:10:05
不知道怎么传数值进去.请大家帮忙看看什么地方出错了.


#include <stdio.h>
#include <stdlib.h>
#define NIAN 5
#define YUE 12
void xs (int suzi[][],int n,int x);

int main(int argc, char *argv[])
{
int sss,ggg;
int ss[NIAN][YUE]={{0,0,0,0,0,0,0,0,0,0,0,11},
{1,0,0,0,0,0,0,0,0,0,0,11},
{2,0,0,0,0,0,0,0,0,0,0,11},
{3,0,0,0,0,0,0,0,0,0,0,11},
{4,0,0,0,0,0,0,0,0,0,0,11},};

for (sss=0;sss<NIAN;sss++){
for (ggg=0;ggg<YUE;ggg++){
printf("%4d",ss[sss][ggg]);
}
printf("\n");
}
xs(ss,NIAN,YUE);
system("PAUSE");
return 0;
}

void xs (int suzi[][],int n,int x){
int i,k;
for (i=0;i<n;i++){
for (k=0;k<x;k++)
printf("%4d",suzi[i],k);
printf("\n");
}
printf("\n");
return;
}
...全文
92 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
saishow 2010-06-08
  • 打赏
  • 举报
回复
感谢二位...特别感谢2楼.
yanghope 2010-06-08
  • 打赏
  • 举报
回复
你在函数声明时参数错啦,编译器只知道该数组的维数,但是并不知道传过来的数组的宽和高,void xs (int suzi[][YUE],int n,int x);或者是void xs (int suzi[NIAN][YUE],int n,int x);都是可以的。但是不能这样传过来void xs (int suzi[NIAN][],int n,int x);原因是数组在内存中存放时一行一行存放的,所以一定要知道数组的宽度,编译器会将会自动确定高度。


happytang 2010-06-08
  • 打赏
  • 举报
回复
修改,就是这么用

#include <stdio.h>
#include <stdio.h>
#include <stdlib.h>
#define NIAN 5
#define YUE 12
void xs (int suzi[NIAN][YUE],int n,int x);

int main(int argc, char *argv[])
{
int sss,ggg;
int ss[NIAN][YUE]={{0,0,0,0,0,0,0,0,0,0,0,11},
{1,0,0,0,0,0,0,0,0,0,0,11},
{2,0,0,0,0,0,0,0,0,0,0,11},
{3,0,0,0,0,0,0,0,0,0,0,11},
{4,0,0,0,0,0,0,0,0,0,0,11},};

for (sss=0;sss<NIAN;sss++){
for (ggg=0;ggg<YUE;ggg++){
printf("%4d",ss[sss][ggg]);
}
printf("\n");
}
xs(ss,NIAN,YUE);
system("PAUSE");
return 0;
}

void xs (int suzi[NIAN][YUE],int n,int x){
int i,k;
for (i=0;i<n;i++){
for (k=0;k<x;k++)
printf("%4d",suzi[i][k]);//修改
printf("\n");
}
printf("\n");
return;
}

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧