C语言(TC 3.0编译)里面函数声明的相关问题!高手赐教!追加100分!

来源:百度知道 编辑:UC知道 时间:2024/05/18 01:35:00
声明函数的时候.int型,double型,char型的都不会出现,一用float声明就出问题了.具体是这样
比如有一段代码:
main()
{
......
int fun();/*或者double fun();char fun();*/
int x;
fun(x);
.....
}
int fun(int x)/*或者double fun(double x);char fun(char x)*/
{
...
return ..;
}
这里的函数声明和调用还有定义写法都没问题,我已经测试过,书上也是这么同意的.所以这里没任何问题.不是高手的就不要在这里的问题上给我解答了.
我换成
main()
{
......
float fun()
float x;
fun(x);
.....
}
float fun(float x)
{
....
return ..;
}
现在问题出来了,当我用float声明的时候(我用的TC 3.0),提示我一个ERRO:"Type mismatch in redeclaretion of 'fun'"
换成
main()
{
......
float fun()
float x;
fun(x);
.....
}
float fun(x)
float x;
{
....
return ..;
}
或者
main()
{
......
float fun(float x);
float x;
fun(x);
.....
}
float fun(float x)

所有函数都必须写参数类型,早期标准int可以省略,但尽量用新标准,函数申明就是函数头的部分,再加上一个;号,如

int fun1();
double fun2(double a); //形参变量可以省略,即:
//double fun2(double);

int fun1()
{
return 0;
}

double fun2(double a)
{
return 0.;
}