关于c语言的找不出的错误!!!!!

来源:百度知道 编辑:UC知道 时间:2024/05/10 12:45:55
下面是我编的c语言的代码:
#include <stdio.h>
int main(void)
{
int m,n,h;
int gy(int a,int b);
int gb(void);
printf("请输入你要求的这两个数:\n");
scanf("%d%d",&m,&n);
h=gy(m,n);
printf("最大公约数是:%d\n",h);
int gy(void);
printf("最小公倍数是:%d",gb(m,n,h));
return 0;
}
int gy(int a,int b)
{
int t,r;
if(a<=b)
{t=a;a=b;b=t;}
while((r=a%b)!=0)
{a=b;b=r;}
return (b);
}
int gb(int m,int n,int h)
{
return (m*n/h);
}

错误如下:--------------------Configuration: Cpp1 - Win32 Debug--------------------
Compiling...
Cpp1.cpp
F:\我的东西\编程题\Cpp1.cpp(12) : error C2660: 'gb' : function does not take 3 parameters
Error executing cl.exe.

Cpp1.obj - 1 error(s), 0 warning(s)

我找了很久觉得没错多嘛。希望热心的网友帮我找找错。小弟我感激不尽!!!!!

第六行的 int gb(void); 这个函数你原意是不是要声明后面的 int gb(int m,int n,int h)啊?

这样根本不是 一个函数形式 ,所以后面的 int gb(int m,int n,int h) 函数其实就是根本没有声明

前面改一下 或者再加一条 int gb(int ,int,int ) 就可以了

int gb(void); 你在main里已经声明为无参数了。还有全局函数的声明要放到main之前

int gb(void); --> int gb(int m,int n,int h);

) : error C2660: 'gb' : function does not take 3 parameters
不是说的很清楚吗? 函数不接受3个参数

错误信息都不看..要知道要编译器对c语言这样语法自由的语言产生如此精确的错误信息需要开发者多么多的努力.

出现的问题跟上面的一样!要不你以后用到的时候可以在前面边申明边定义,在main()之前!这样以后用到的时候就可以避免错误!!这样可以吗???