鱼C论坛

 找回密码
 立即注册
查看: 1055|回复: 8

[已解决]renturn 返回值

[复制链接]
发表于 2020-4-21 11:10:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
不明白return的返回值会返回到哪里?
最佳答案
2020-4-21 11:14:42
本帖最后由 sunrise085 于 2020-4-21 11:17 编辑

返回到调用函数的地方,一般用返回值赋值或者进行判断等
#include<stdio.h>
int fun1(int num){
    return num+2;
};
int fun2(int k)
{
    return 0;
};
int main()
{
    int a=5,b,c;
    b=fun1(a);
    printf("a=%d,b=%d\n",a,b);
    if (fun2(a))
        printf("haha!\n");
    else
        printf("hehe!\n");
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-21 11:11:38 | 显示全部楼层
返回给调用者,谁调用 返给谁
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-21 11:13:29 | 显示全部楼层
最简单来讲,你可以把函数的结果返回出去,
这个值可以赋值给变量。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-21 11:14:42 | 显示全部楼层    本楼为最佳答案   
本帖最后由 sunrise085 于 2020-4-21 11:17 编辑

返回到调用函数的地方,一般用返回值赋值或者进行判断等
#include<stdio.h>
int fun1(int num){
    return num+2;
};
int fun2(int k)
{
    return 0;
};
int main()
{
    int a=5,b,c;
    b=fun1(a);
    printf("a=%d,b=%d\n",a,b);
    if (fun2(a))
        printf("haha!\n");
    else
        printf("hehe!\n");
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-21 11:18:31 | 显示全部楼层
本帖最后由 liuzhengyuan 于 2020-4-21 11:23 编辑

就是返回出来的意思

比如所
这个函数
int add(int a, int b)
{
    return a+b;
}
我们想让他输出 a + b 的值,总不可能,酱紫吧~
add(3, 4);
这样输出不了,我们只能
printf("%d",add(3, 4));
函数会把 3+4 的值返回给 printf 函数,然后 printf 在输出

同样,还可以返回给变量
int a=add(3, 4);
这样,add 函数就会把 3+4 的值返回给 a 变量,此时 a 的值就是 3+4 的和
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-21 11:20:59 | 显示全部楼层
liuzhengyuan 发表于 2020-4-21 11:18
就是返回出来的意思

比如所

哈哈,C和python搞混了吧~~
你这样仍然 输出不了
需要格式化字符,语句结尾分号
printf(“%d”,add(3, 4));
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-21 11:22:17 | 显示全部楼层
sunrise085 发表于 2020-4-21 11:20
哈哈,C和python搞混了吧~~
你这样仍然 输出不了
需要格式化字符,语句结尾分号

晕了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-21 17:30:28 | 显示全部楼层
你可以简单理解为返回到插入函数原来所在的位置,并且对这个函数的处理,和对同类型变量处理方式类似
举个栗子:int f(int x){return x;}
这时候 a=f(3);这个语句就不会报错
//为了方便,我这里的括号都是中文输入的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-21 20:27:44 | 显示全部楼层
在哪里调用,返回到哪里。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-14 18:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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