震惊!!!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,出现报错“不是所有的控制路径都有返回值”

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


目录
相关文章
|
1月前
|
C++
在C++语言中return语句
在C++语言中return语句
50 0
在C++语言中return语句
|
8月前
|
编译器 C语言
一篇文章拿下选择语句if和switch
一篇文章拿下选择语句if和switch
48 0
|
1月前
|
Python
Python基础教程——break语句
Python基础教程——break语句
|
1月前
|
存储 C++ 容器
【C++从练气到飞升】09---string语法指南(二)
【C++从练气到飞升】09---string语法指南(二)
|
1月前
|
存储 Linux C语言
【C++从练气到飞升】09---string语法指南(一)
【C++从练气到飞升】09---string语法指南(一)
|
1月前
|
C#
c#一文读懂continue、return、break区别
c#一文读懂continue、return、break区别
18 0
|
1月前
|
SQL Java
一直傻傻分不清 count(*) count(id) count(1) 这次终于整明白了
一直傻傻分不清 count(*) count(id) count(1) 这次终于整明白了
38 0
|
1月前
|
前端开发
前端知识笔记(五)———break和continue的区别是什么?(详细)
前端知识笔记(五)———break和continue的区别是什么?(详细)
24 0
|
Web App开发 前端开发 JavaScript
重学前端 20 # try里面放return,finally还会执行吗?
重学前端 20 # try里面放return,finally还会执行吗?
116 0
重学前端 20 # try里面放return,finally还会执行吗?
|
小程序 编译器 C++
C++菜鸟学习笔记系列(19)——返回类型和return语句
C++菜鸟学习笔记系列(19)——返回类型和return语句
189 0