鱼C论坛

 找回密码
 立即注册
查看: 3697|回复: 14

关于return函数的问题!

[复制链接]
发表于 2013-8-27 22:09:09 | 显示全部楼层 |阅读模式
1鱼币
本帖最后由 S_18 于 2013-8-28 00:05 编辑

return 返回值有什么用啊?是吧返回值给谁啊?可以举个简单的例子吗?  
还有 我想问一下这个代码
#include <stdio.h>

void main()
{
      float max(float x, float y);
      float a, b;
      float c;

      scanf("%f, %f", &a, &b);
      c = max(a, b);
      printf("Max is %f\n", c);
}

float max(float x, float y)
{
      float z;
      z = x > y ? x : y;

      return z;
}
有谁可以帮我注释一下啊?特别是第二个大括号里的语句 ,为什么不可以删掉 我觉得不要float max(float x, float y){
      float z;
      z = x > y ? x : y;

      return z;
}这一段也可以直接输出C啊!!

最佳答案

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-27 22:09:10 | 显示全部楼层
  1. #include <stdio.h>

  2. void main()
  3. {
  4.       float max(float x, float y);//函数前置申明 告诉编译器有这个函数
  5.       float a, b;
  6.       float c;

  7.       scanf("%f, %f", &a, &b);//输入 A B的值
  8.       c = max(a, b);//将a b大的那个给C
  9.       printf("Max is %f\n", c);//输出c
  10. }

  11. float max(float x, float y)
  12. {
  13.       float z;
  14.       z = x > y ? x : y;//等价于
  15.          /* if(x>y)
  16.           {
  17.                   z = x;
  18.           }
  19.           else
  20.           {
  21.                   z = y;
  22.           }*/
  23.                             

  24.       return z;//吧大的那个值返回
  25. }
复制代码
觉得好给最佳啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-27 22:11:47 | 显示全部楼层
介个不好解释啊。。。
第一个大括号里有个c = max(a, b);语句,这个语句调用了max函数,因为头文件里没有这个函数,需要你自己来写这个函数。第二个大括号里就是max函数。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-27 22:20:38 | 显示全部楼层
return 返回值可以返回一个结果、也可以返回一个自己想要的值、返回给调用的函数,比如你下面的例子
z等于大的那个值,然后返回给主函数并赋值给了c。
  1. #include <stdio.h>

  2. void main()
  3. {
  4.       float max(float x, float y);
  5.       float a, b;
  6.       float c;

  7.       scanf("%f, %f", &a, &b);
  8.       c = max(a, b);//调用max()传入两个数,得到大的那个数
  9.       printf("Max is %f\n", c);
  10. }

  11. float max(float x, float y)
  12. {
  13.       float z;
  14.       z = x > y ? x : y;//输入的值x是是否大于y,是的话z=x,否则z=y;

  15.       return z;//Z等于大的那个值返回
  16. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-27 22:24:13 | 显示全部楼层
这是一个自定义函数,怎么能不要呢?你删了的话,主函数里的max()调用无效;return 的作用是把被调用函数的结果返回至调用函数中,此例就是返回给主函数。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-27 22:25:41 | 显示全部楼层
打个比方
  1. #include "stdio.h"
  2. int test()
  3. {
  4.         return 50;//test的返回值是50
  5. }
  6. void main()
  7. {
  8.         int i;
  9.         i = test();//执行了test这个函数 返回了50 给i
  10.         printf("%d\n",i);
  11. }
复制代码
不懂追问O(∩_∩)O~申请最佳
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-8-27 23:12:18 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-27 23:29:55 | 显示全部楼层
S_18 发表于 2013-8-27 23:12
c的值已经输出了 为什么还要13行以后的那些语句啊?

我擦 没函数 你怎么输出啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-27 23:35:18 | 显示全部楼层
S_18 发表于 2013-8-27 23:12
c的值已经输出了 为什么还要13行以后的那些语句啊?

是这样的 max是自定义函数你必须对他进行定义才行 啊后面的就是高手VC++6.0 max 都要干些什么
如果没有的话 max要干什么??谁知道呢 是不是啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-27 23:35:53 | 显示全部楼层
S_18 发表于 2013-8-27 23:12
c的值已经输出了 为什么还要13行以后的那些语句啊?

当程序执行到max的时候其实就是在执行后面的那些代码 你不写的话如何执行呢 O(∩_∩)O~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-27 23:41:40 | 显示全部楼层
实参赋给形参 a给x b 给y        后面 float max(float x, float y){
      float z;
      z = x > y ? x : y;

      return z;
}是函数  你必须用这样,调用这个函数。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-8-28 00:04:21 | 显示全部楼层
牡丹花下死做鬼 发表于 2013-8-27 23:35
当程序执行到max的时候其实就是在执行后面的那些代码 你不写的话如何执行呢 O(∩_∩)O~

喔喔  知道了 谢谢。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-8-28 00:22:19 | 显示全部楼层
牡丹花下死做鬼 发表于 2013-8-27 23:35
当程序执行到max的时候其实就是在执行后面的那些代码 你不写的话如何执行呢 O(∩_∩)O~

可不可以不用return函数 来实现这个程序啊?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-28 09:01:43 | 显示全部楼层
S_18 发表于 2013-8-28 00:22
可不可以不用return函数 来实现这个程序啊?

可以用指针
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-29 09:26:14 | 显示全部楼层
看一看,还是很有收获的。可能越是小的问题,积累出来的解决方案就越多。加油。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-29 08:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表