震惊!!!return 语句居然是这样的

简介: 震惊!!!return 语句居然是这样的

在函数的设计中,函数中经常会出现return语句,这里讲一下return语句的使用注意事项。

注意事项

  1. return后面可以是一个数值,也可以是一个表达式,如果是表达式则先执行表达式,再返回表达式的结果。
  2. return后边也可以什么都没有,直接写return;这种写法适合函数返回类型是void的情况。
  3. return返回的值和函数返回类型不一致,系统会自动将返回的值隐式转化为函数的返回类型。
  4. return语句执行后,函数就彻底返回,后边的代码不再执行。(该处有点像break,但它不能用于自定义函数,而是用于switch语句和循环语句)
  5. 如果函数中存在if等分支语句,则要保证每种情况下都有return返回,否则出现编译错误。

接下来,进行举例


1.的举例

#include<stdio.h>
int Add(int x, int y)
{
    return  x + y;//这里就是先执行表达式,再返回表达式的结果
}
int main()
{
    int a, b;
    scanf("%d %d", &a, &b);
    int r = Add(a, b);//调用加法Add函数,求和的结果放在r中
    printf("%d", r);
}
#include<stdio.h>
int Add(int x, int y)
{
    int z = x + y;
    return z;
}
int main()
{
    int a, b;
    scanf("%d %d", &a, &b);
    int r = Add(a, b);//调用加法Add函数,求和的结果放在r中
    printf("%d", r);
}

2,4的举例

计算从1-n的和

//计算从1-n的和
#include<stdio.h>
void test(int n)//void表明函数返回类型是空  //该处是定义函数
{
  if (n <= 0)
    return;//若执行该语句,后边代码不执行,则验证注意事项4;return后面什么也没有,验证v注意事项2
  int i = 0;
  int sum = 0;
  for (i = 1; i <= n; i++)
  {
    sum += i;
  }
  printf("%d\n", sum);
}
int main()
{
  int n;
  scanf("%d", &n);
  test(n);//自定义函数
  return 0;
}

  81112d9171dc4e4ca9b08ae924b6846b.png

输入-1,执行return语句,程序结束。输入5,跳过if语句,执行for循环。(不清楚自定义函数的可以看博主的这个文章https://blog.csdn.net/wait___wait/article/details/135047014

点击链接就可以观看啦,里面也介绍了参数,这两篇文章一起看,就会有更好的了解哦☺☺

3.的举例

#include<stdio.h>
int test()//由于实参为空,所以形参也为空
{
  return 3.14;
}//函数返回类型为整型,所以3.14强制转换为3
int main()
{
  int r = test();//实参
  printf("%d\n", r);//打印3
  return 0;
}

5.的举例

#include<stdio.h>
//判断一个数是能不能被2整除(即一个正整数n是不是偶数)
//不能被2整除则返回1
//能被2整除则返回0
int test(int n)
{
  if (n % 2 == 1)
    return 1;
  else
    return 0;
}
int main()
{
  int n = 0;
  scanf("%d", &n);
  int ret = test(n);
  printf("%d", ret);
  return 0;
}//输入3,返回1,即打印1

若注释掉return 1;则违反了注意事项5,出现报错“不是所有的控制路径都有返回值”

(已经看到这里了,不如点个赞,和关注再离开吧☼☺,这是对我最大的鼓励)


目录
相关文章
|
7月前
|
C++
在C++语言中return语句
在C++语言中return语句
185 0
在C++语言中return语句
|
编译器 C语言
一篇文章拿下选择语句if和switch
一篇文章拿下选择语句if和switch
81 0
|
9天前
|
前端开发 Java 程序员
面试官刁钻提问?轻松应对 break、continue 和 return 的巧妙用法
本次分享的主题是在面试break社招时被问到continue和return的区别与作用,面试官还刁钻的问了一些场景使用的坑点,小伙伴表示不太懂,现场有点慌。今天由我来给大家深入讲讲这三个关键词的区别和作用还会结合一些实战例子,保证你看完后不仅面试游刃有余,临时写代码也更得心应手,我们分为以下四部分。 1.了解背景铺垫的相关知识 2.Break、continue和return的定义 3.使用代码来实现三个关键字的逻辑 4.三个关键字在实践中应注意的坑点
|
7月前
|
Java 程序员
Java程序设计基础——循环中的跳转语句
Java程序设计基础——循环中的跳转语句
|
7月前
|
Java
Java程序设计基础——switch选择语句
Java程序设计基础——switch选择语句
|
7月前
|
Python
Python基础教程——break语句
Python基础教程——break语句
|
7月前
|
Java
第十四届蓝桥杯集训——自定义函数+static+return
第十四届蓝桥杯集训——自定义函数+static+return
74 0
|
C语言
笔记||if 语句
笔记||if 语句
70 0
|
Go 数据安全/隐私保护 开发者
break 课堂练习 | 学习笔记
快速学习 break 课堂练习
break 课堂练习 | 学习笔记
|
小程序 编译器 C++
C++菜鸟学习笔记系列(19)——返回类型和return语句
C++菜鸟学习笔记系列(19)——返回类型和return语句
256 0