注册 登录
编程论坛 C语言论坛

小白刚学函数有一些问题求解答

九笙 发布于 2019-10-24 10:51, 2401 次点击
#include <stdio.h>
int main()
{
    int max(float x ,float y);
    float a , b;
    int c;
   
    scanf("%f , %f", &a, &b);
    c = max(a, b);
    printf("Max is %d\n",c);
}
int max(float x, float y)//没有;
{
    float z;
    z= x > y ? x : y;
   
    return z;
}
请问底下的int max 部分意义何在?
还要为啥return z?
8 回复
#2
rjsp2019-10-24 10:58
那么按照你的意思,代码应该怎么写?
#3
九笙2019-10-24 11:13
回复 2楼 rjsp
我现在好像明白了,下面部分是定义函数是吗?但还是不明白为啥return z而不是return 0,如果是return 0最终输出结果是0,但以前学习的很多程序为啥最后程序结束都是return 0,有什么区别呢?感觉这个return有点像printf
ps:刚学习C,问题可能很愚蠢,请多包涵QVQ


[此贴子已经被作者于2019-10-24 11:24编辑过]

#4
zbjzbj2019-10-24 12:06
c = max(a, b);
如果返回0,c就永远等于0了,还算什么?
有时候程序并不需要返回值,随便让他返回0,可能只是满足程序格式要求。有时候要根据返回值不同得到不同的结果,返回值要根据程序员要求了
#5
pseudo2019-10-24 17:16
建议楼主多看看书,这些都是书上最基本的知识点。
#6
c小白23332019-10-24 20:18
求最大值这个函数
最好定义为float型 保持与a,b一致
main函数中的c也是
自己定义的函数,最好在main函数前面做个声明
比如在int main()前加个
float max(float x, float y);(此处int已改为float)
#7
bcbbcclbbc2019-10-25 01:24
回复 3楼 九笙
首先定义一个函数int max(float x ,float y);,那么你先要赋予这个函数一个名字max(方便理解方便记忆),
并填入相应语句用于实现某种功能{
    float z;
    z= x > y ? x : y;
}

至于返回值return z;则取决于max前面的类型,可以是实型float、字符型char、整型int。。。(这里是int,则返回值“z”的数据结构应该是整型。)
若不需要返回值则定义为void max(float x,float y)

[此贴子已经被作者于2019-10-25 01:54编辑过]

#8
猫耳晃晃2019-10-27 20:16
不用return也行,前缀改成void int
#9
bcbbcclbbc2019-10-28 06:46
刚学的话,可以看一下 C Primer Plus(第五版)这本书,里面都是些基础的知识,各章的连贯性很不错。多看多练题。
1