C 语言的函数可以返回数组以外(不包括数组指针)的任何类型.

不写明返回类型, 在以前的 C 语言版本中是默认返回 int, 现在 C99、C++ 已不支持.

void 表示没有返回值, 也就无须 return 语句; 如果是其他语句必须有 return 语句.

在 main 函数中(只是 main 函数)若忘掉 return, 有些编译器会自动添加 return 0;



1. 每执行 return 语句函数将会退出:



#include <stdio.h>int main(void)
{printf("111\n"); printf("222\n");return 0; /* 之后的语句将不会执行 */printf("333\n");printf("444\n");getchar();return 0;
}

2. 如果函数没有返回值, 可以借无参数的 return 跳出:



#include <stdio.h>void prn(void);int main(void)
{prn();getchar();return 0;
}void prn(void) {printf("111\n"); printf("222\n");return; /* 无参数的 return */printf("333\n");printf("444\n");
}

3. return 后面不是"等号", 但返回值也可以写在括号中:



#include <stdio.h>long long MySqr(int x);int main(void)
{int i = 9;i = MySqr(i);printf("%d\n", i);getchar();return 0;
}long long MySqr(int x) {return(x*x); /* 返回值在括号中 */
}

4. return 与 exit 的区别:



main 函数结束时, 程序也就结束了, return 0; 或 return(0); 返回给系统的 0 表示正常退出.
如果返回了非零的值, 一般写做: return 1; 或 return(1); 表示异常结束.

在一般函数中 return 只是退出当前函数;
但在任何地方, exit(1); 都是退出程序, 其中的 1 也是给系统的返回值, 表示异常退出;
异常退出也可以使用 abort(); 这个两个函数(exit、abort)都声明在 stdlib.h



#include <stdio.h>
#include <stdlib.h>void prn(void);int main(void)
{prn();getchar();return 0;
}void prn(void) {printf("abc\n"); exit(1);         /* 异常退出程序 */
}

5. 每执行 return 语句函数将会退出:



#include <stdio.h>int main(void)
{printf("111\n"); printf("222\n");return 0; /* 之后的语句将不会执行 */printf("333\n");printf("444\n");getchar();return 0;
}

6. 注意返回值的类型:



#include <stdio.h>float average(int a, int b, int c);int main(void)
{printf("%g\n", average(2,6,9));getchar();return 0;
}float average(int a, int b, int c)
{return (a + b + c)/3.0; /* 假如这里没有 .0 将不会返回正确的结果*/
}

学点 C 语言(32): 函数 - 返回值相关推荐

  1. c语言函数返回值存储,C语言的函数返回值所存放的寄存器

    #include int add(int a, int b) { return a + b; } int asm_compare_one(int a) { _asm { mov edx, a cmp ...

  2. C语言主函数返回值含义

    上大学时候我学习C语言的时候主函数的类型还可以用void类型,毕业之后想再次加深一下编程的水平发现我找的编译器居然要求主函数必须具有int类型的返回值.简单的看了一点教程以及网络上的介绍之后,也不管三 ...

  3. r语言 c 函数返回值,R语言入门 输出函数 cat、print、paste等区别理解

    一. 简介 cat.print函数都是输出函数 > cat("hello world") hello world >> print("hello wor ...

  4. c语言规定 函数返回值6,C语言六函数.ppt

    C语言六函数 第六章 函数 任何一个结构化程序都可以由三种基本结构组成:顺序结构.选择结构和循环结构,为了利用这三种结构编写结构化程序,通常需要采用自顶向下.逐步细化和模块化的程序设计方法,这也就是说 ...

  5. c语言子函数返回值,C语言函数说明与返回值

    在学习C语言函数以前,我们需要了解什么是模块化程序设计方法. 人们在求解一个复杂问题时,通常采用的是逐步分解.分而治之的方法,也就是把一个大问题分解成若干个比较容易求解的小问题,然后分别求解.程序员在 ...

  6. c语言recv函数返回值,谈谈recv()函数的返回值

    网上某论坛有这样一个问题:当recv()函数的返回值为0时,能不能在接收端不关闭套接字,以便这条建立好的C/S通信下次可以直接使用? 我对这个问题的回答是:不能. 原因是:此时即使接收端不关闭套接字, ...

  7. c语言宏函数返回值,C++宏定义方法的返回值

    这个人呐,面个试都会紧张,一紧张就忘东西...哎 其实究其原因在于自己对知识了解没有深入到一定程度(自己:怪我咯). 起因 今天被问到使用C++语言中的宏来求一年的秒数. 分析问题,其实秒数很容易计算 ...

  8. c语言自定义函数返回值的作用,C语言中return用法?

    return 的作用是结束正在运行的函数,并返回函数值.return后面可以跟一个常量,变量,或是表达式. 函数的定义一般是这样的,例如: int a(int i)//第一个int是函数的返回值的类型 ...

  9. c语言stat函数返回值,stat函数

    一.概述: 表头文件:    #include #include 定义函数:    int stat(const char *file_name, struct stat *buf); 函数说明:   ...

  10. C语言scanf()函数返回值的问题

    不经意中发现scanf()的返回值问题,自己试验和了解了一下,一些所知与各位分享; void main()  {  int a; int b; int c; printf("请输入三个整数: ...

最新文章

  1. 锐捷服务器系统安全,锐捷网络平安城市解决方案满足室外监控的需求
  2. 独家 | 数据转换:标准化vs 归一化(附代码链接)
  3. 2021年春季学期-信号与系统-第十四次作业参考答案
  4. 分布式消息技术 Kafka
  5. C语言程序设计教学探讨,C语言程序设计多媒体教学探讨
  6. BundlePhobia
  7. python paramiko模块下载_Python自动化运维实战:使用Python管理网络设备
  8. Ubuntu 无法应用原保存的显示器配置
  9. php用户名登录名_PHP验证登录用户名和密码
  10. 智慧能源管理系统解决方案
  11. 8.计蒜客ACM题库.A2019 Save the Room
  12. c语言中立方和乘法怎么表示什么区别,C语言程式设计中的平方立方怎么表示
  13. MATLAB 线性拟合
  14. 自己动手打造深度学习服务器
  15. 鲁大师被win10识别为病毒?
  16. 注册 @live.com @msn.com邮箱
  17. 致终将火爆的NFC——ISO14443 TypeA(二)
  18. chromium摘抄
  19. Windows7 Ubuntu 双系统安装卸载工具备份
  20. 国科大学习资料--最优化计算方法(王晓)--期末考试试卷2

热门文章

  1. Android中ListView复用导致布局错乱的解决方案
  2. 跨域——vue中的axios.post使用json数据传输,出现请求头字段内容类型是不被允许的情况的解决方案
  3. 移动端适配的基础知识
  4. 基于SpringMVC国际化资源配置方式Demo
  5. Go slice切片的“陷阱”和本质
  6. 全球首个企业云计算平台初探
  7. 为 Retrofit2 提供的 FastJson 转换库
  8. 第13章 Swing程序组件----常用布局管理器
  9. (我总结的实用主义)Loadrunner运行常见错误
  10. 禁止谷歌浏览器对form元素添加缓存默认值