这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » return的用法

共7条 1/1 1 跳转至

return的用法

高工
2016-05-22 00:44:38     打赏
大家都知道,return返回的意思,可以用来返来一个值或表达式,也可以用来结束子函数。但这两天遇到一个问题,在百度上没有找到很好的答案。问题如下,有三个子函数嵌套调用,最里层的子函数有个return语句,本想结束该子函数的执行,但调用调子函数的子函数也跟着结束执行,这是什么原因呢?网上的资料只是说结束子函数,但它到底是要返回哪里去啊,求解。 void cc() { if(条件1) { return; } } void bb() { cc(); dd(); //该函数的定义省略 } void aa() { bb(); } void main() { aa(); } 当函数cc里的"条件1"为真时,return返回,函数cc结束,这很好理解,但函数dd去不执行,问题就在这里,想不明白。



关键词: return    

院士
2016-05-22 18:49:32     打赏
2楼

这个排版~~

真是懒得看啊


高工
2016-05-22 19:01:51     打赏
3楼
我做了 一个模拟,结果显示执行dd函数啊

高工
2016-05-22 19:04:49     打赏
4楼
#include <stdio.h>

void cc(void)
{
  printf("function cc is exec\n");
  if(1)
  {
    return;
  }
  printf("function cc is end\n");
}

void dd(void)
{
  printf("function dd is exec\n");
  
}

void bb(void)
{
  cc();
  dd();
}

void aa(void)
{
  printf("function aa is exec\n");
  bb();
  
  if(1)
  {
    return;
  }
}

void main(void)
{
  aa();
  printf("end function\n");
}

 


高工
2016-05-22 19:05:21     打赏
5楼

院士
2016-05-23 09:13:57     打赏
6楼

从截图上面 楼上用的是 iar 软件



专家
2016-05-23 15:04:33     打赏
7楼
如果对return不了解,就用goto 吧。

共7条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]