关于C语言程序中函数声明时形式参数问题?

代码如下:#include<stdio.h>#definem4voidmain(){voidprint1(intint);voidprint2(char*[],int);... 代码如下:
#include<stdio.h>
#define m 4
void main()
{
void print1(int int);
void print2(char *[],int);
int data[3][m]={{00,01,02,03},{10,11,12,13},{20,21,22,23}};
char *str[]={"red","blue","green"};
print1(data,3);
print2(str,3);
}
void print1(int *data[][m],int l)
{
int i,j=0;
for(i=0;i<l;i++)
{
for(j=0;j<m;j++)
printf("%d,",*(data[i])+j);
printf("\n");
}
printf("\n");
}
void print2(char str[],int n)
{
int i;
for(i=0;i<n;i++)
printf("%s",str[i]);
printf("\n\n");
}
void print1(int ,int);这句怎么定义形式参数?我是照着书上的程序写的,书上的函数声明没有实行参数void print();可我这么做时总是出错,为什么?
按照iceser修改后通过了编译,但link时出错了unresolved external symbol "void __cdecl print1(int (* const)[4],int)" (?print1@@YAXQAY03HH@Z)
展开
 我来答
iceser
2008-03-30 · TA获得超过2708个赞
知道大有可为答主
回答量:695
采纳率:100%
帮助的人:458万
展开全部
注意函数的声明和定义,签名要一致。
签名包括函数名称,参数列表。

你使用什么编译器啊?我在VS2005下,编译运行都没有问题啊。

你试试这样子看行不行

#define m 4

void __stdcall print1( int [][m], int);
void __stdcall print2(char *[],int);

void main()
{
int data[3][m]={{00,01,02,03},{10,11,12,13},{20,21,22,23}};
char *str[]={ "red","blue","green"};
print1( data,3);
print2(str,3);
}
void __stdcall print1( int data[][m] ,int l)
{
int i,j=0;
for(i=0;i<l;i++)
{
for(j=0;j<m;j++)
printf("%d,",*(data[i])+j);
printf("\n");
}
printf("\n");
}
void __stdcall print2(char * str[],int n)
{
int i;
for(i=0;i<n;i++)
printf("%s",str[i]);
printf("\n\n");
}
700808112
2008-04-07 · TA获得超过672个赞
知道答主
回答量:149
采纳率:0%
帮助的人:98.7万
展开全部
将函数的实现放在主函数之前,
去掉函数申明
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式