C语言,想编函数 出现 [Linker error] undefined reference to `sum' 之类的,求解答

#include<stdio.h>voidsum(void),min(void),mul(void),div(void);intmain(){intk;do{printf... #include<stdio.h>
void sum(void) , min(void) , mul(void) , div(void);
int main()
{
int k;
do
{
printf("加法按1,减法按2,乘法按3,除法按4,结束按0");
printf("请选择模式:");
scanf("%d",&k);
}while(k<0||k>4);
switch(k)
{
case 0:printf("欢迎下次使用!");break;
case 1:sum();break;
case 2:min();break;
case 3:mul();break;
case 4:div();break;
}
void sum(void)
{
float x,y;
printf("输入两个数字相加:");
scanf("%f%f",&x,&y);
printf("%f+%f=%f",x,y,x+y);
return;
}
void min(void)
{
float x,y;
printf("输入两个数字相减:");
scanf("%f%f",&x,&y);
printf("%f-%f=%f",x,y,x-y);
return;
}
void mul(void);
{
float x,y;
printf("输入两个数字相乘:");
scanf("%f%f",&x,&y);
printf("%f*%f=%f",x,y,x*y);
return;
}
void div(void)
{
float x,y;
a_menue:
printf("输入两个数字相除:");
scanf("%f%f",&x,&y);
if(y!=0)
printf("%f/%f=%f",x,y,x/y);
else
printf("wrong");
goto a_menue;
return;
}
getch();
return;
}
展开
 我来答
雨雪风中漫步
2016-07-18 · TA获得超过483个赞
知道答主
回答量:96
采纳率:100%
帮助的人:19.2万
展开全部

1、是函数声明的时候用分号结束,也就是第一行

2、main函数最后缺了一个大括号“}”,或者说你把大括号放到了最最后

3、mul函数定义的时候,没有分号

4、我第一次复制你的代码时,min是灰的,不知道是不是关键字,不过我运行了,不影响

最后,我把return注释了,最后那个大括号去了(参考第2条)

5、下面是改后的代码,亲试可用,其实就是一些细节,仔细找找就行。

6、补充一个,选4的时候做除法,你用了goto,然后就会一直让输入两个数相除,后来我试着把goto注释了。。。

#include<stdio.h>

// void sum(void) , mine(void) , mul(void) , div(void);

void sum(void);

void min(void);

void mul(void);

void div(void);

int main()

{

    int k;

    do

    {

            printf("加法按1,减法按2,乘法按3,除法按4,结束按0"); 

            printf("请选择模式:");

            scanf("%d",&k);

    }while(k<0||k>4);

    switch(k)

    {

             case 0:printf("欢迎下次使用!");break;

             case 1:sum();break;

             case 2:min();break;

             case 3:mul();break;

             case 4:div();break;

    }

}

void sum(void)

{

     float x,y;

     printf("输入两个数字相加:");

     scanf("%f%f",&x,&y);

     printf("%f+%f=%f",x,y,x+y);

     return;

}

void min(void)

{

     float x,y;

     printf("输入两个数字相减:");

     scanf("%f%f",&x,&y);

     printf("%f-%f=%f",x,y,x-y);

     return;

}

void mul(void)

{

     float x,y;

     printf("输入两个数字相乘:");

     scanf("%f%f",&x,&y);

     printf("%f*%f=%f",x,y,x*y);

     return;

}

void div(void)

{

     float x,y;

     a_menue:

     printf("输入两个数字相除:");

     scanf("%f%f",&x,&y);

     if(y!=0)

     printf("%f/%f=%f",x,y,x/y);

     else 

     printf("wrong");

     goto a_menue;

     return;

}

getch();

//return;

sabrina8585
2011-05-05 · TA获得超过730个赞
知道小有建树答主
回答量:165
采纳率:0%
帮助的人:40.2万
展开全部
函数声明不要漏掉分号
void sum(void) ;void min(void) ;void mul(void) ;void div(void);
追问
改成这种了,还是提示一样的错误~~~麻烦了~~再看看~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
maozheng798968
2011-05-05 · TA获得超过361个赞
知道小有建树答主
回答量:364
采纳率:0%
帮助的人:181万
展开全部
把main() 放到sum什么的函数定义下面
追问
我前面不是声明了得嘛,就可以放后面了吧~?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式