嘟嘟社区

问个C++问题


  1. float max(float x,float y);
  2. int main(){
  3.     float a,b,m;
  4.     scanf("%f,%f",&a,&b);
  5.     m=max(a,b);
  6.     printf("Max is %fn",m);
  7. }
  8. float max(float x,float y)
  9. {
  10.     if(x>=y)
  11.         return x;
  12.     else
  13.         return y;
  14. }

复制代码

求问大佬,
float max(float x,float y);

float max(float x,float y)
{
    if(x>=y)
        return x;
    else
        return y;
}
有什么关联吗,开头的float max(float x,float y);语句是不是为了把下面的max定义给拉到main前,以确保main运行前max被定义,这种写法叫什么,有没有拓展资料给小弟看看

你的代码应该是先声明max函数,后定义max函数。你也可以把max写到main前面,这样第一句声明就可以删了。
  1. float max(float x,float y)
  2. {
  3.     if(x>=y)
  4.         return x;
  5.     else
  6.         return y;
  7. }
  8. int main(){
  9.     float a,b,m;
  10.     scanf("%f,%f",&a,&b);
  11.     m=max(a,b);
  12.     printf("Max is %fn",m);
  13. }

复制代码

函数声明,让main事先知道有这么个函数,编译才不会错
函数声明与函数定义,函数声明必须先于函数定义
本帖最后由 星跃 于 2022-1-2 00:14 编辑

函数声明 后面有个分号
b函数在a函数之后,但是b函数要调用a函数 时要用到

代码少换个顺序就不用写声明
代码多了在开头写个声明 顺序可以随意一点

函数声明
函数声明 与 函数定义 的关系
如果函数定义在main后面 在main调用时 编译器是不知道这个函数的参数、返回值 无法检查你是否正确调用这个函数 所以需要在调用前声明这个函数
这年头,非科班人士搞cpp,无疑死路一路,既然玩cpp还不如玩rust,苦到底

看楼主还是初学。转脚本语言吧。

学c还是要买本书认真看下,很多东西书里是有系统讲解的,而网上的教程东拼西凑的很难看全。