c++语言中return有什么用?详细解释是什么?

C++语言中为什么要用return,这么用有什么好处?return和break有什么区别?

c++

7个回答

return语句就是用于指定函数返回的值。return语句只能出现在函数体内,出现在代码中的其他任何地方都会造成语法错误!
当执行return语句时,即使函数主体中还有其他语句,函数执行也会停止!
  break 可用于 C 提供的全部三种循环结构,其作用是跳出循环。如果 break 位于循环嵌套中的一个内循环,则仅跳出该内循环。

return 可以控制循环,最重要的是函数需要返回值.
一个程序可以没有输入但是不能没有输出,没有输出,鬼知道干了些啥.
有可能你会理解 可以用void 函数,控制全局变量之类的. 首先这种做法的不对,这和函数的引用透明性,还有函数的映射,一一对应的关系相关,

没有"副作用"
所谓"副作用"(side effect),指的是函数内部与外部互动(最典型的情况,就是修改全局变量的值),产生运算以外的其他结果。
函数强调没有"副作用",意味着函数要保持独立,所有功能就是返回一个新的值,没有其他行为,尤其是不得修改外部变量的值。
不修改状态
上一点已经提到,函数式只是返回新的值,不修改系统变量。因此,不修改变量,也是它的一个重要特点。
。不修改变量,意味着状态不能保存在变量中。函数式使用参数保存状态,最好的例子就是递归。
引用透明性
函数程序通常还加强引用透明性,即如果提供同样的输入,那么函数总是返回同样的结果。就是说,表达式的值不依赖于可以改变值的全局状态。这使您可以从形式上推断程序行为,因为表达式的意义只取决于其子表达式而不是计算顺序或者其他表达式的副作用。这有助于验证正确性、简化算法,甚至有助于找出优化它的方法。

return语句是用在函数末尾用于表示函数所有逻辑执行结束,在调用栈中就是将当前执行函数弹出调用栈;
明白理解return好处是建立在理解return的作用之上的,根据return浅显的作用后,我们就知道在编码时我们可以在适当的地方直接使用return来结束当前函数的执行
而省去后面代码逻辑的判断处理。
break是跳出当前这一层循环而继续直接下一次循环或循环体后面的逻辑。
break是作用用与函数中的break所处的循环体,return是作用于整个函数

return语句是用在函数末尾用于表示函数所有逻辑执行结束,在调用栈中就是将当前执行函数弹出调用栈;
明白理解return好处是建立在理解return的作用之上的,根据return浅显的作用后,我们就知道在编码时我们可以在适当的地方直接使用return来结束当前函数的执行
而省去后面代码逻辑的判断处理。
break是跳出当前这一层循环而继续直接下一次循环或循环体后面的逻辑。
break是作用用与函数中的break所处的循环体,return是作用于整个函数

简单明了的讲一下, return 是直接跳出某个函数, 并给该函数有一个返回值,而break是看到大家说,我才想说的,break是跳出整个循环,
另外还有continue是跳出本次循环进行下次循环
for (int i=0; i<10; i++)
{
break; //跳出for 循环
continue; //即当前循环是i=x, 那么不执行下面的语句,直接从i=x+1开始
}
return ..;//返回值类型是该函数定义的类型

return是返回指定类型的变量值,break值跳出某个循环。

return马上结束当前函数,返回到调用函数,使调用方能控制程序流程。

 void SomeFunc()
{

     // lots of code

    for( i=0; i<n; ++i )
    {
         if( some condition )
             return;

         // code, not executed if return called
    }

   // lots of code - this will not get executed if return is called
}

break结束循环体,执行循环体下一行。

 void SomeFunc()
{

     // lots of code

    for( i=0; i<n; ++i )
    {
         if( some condition )
             break;

         // code, this will not execute if break is called
    }

   // lots of code - this *will* get executed if break is called
}

除了返回值为void的函数,函数必须使用return返回某值,否则会报错。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题

2
C++双向链表的“[]”的重载
1
关于C++ 指针new和delete的问题。
2
关于c语言指向一位数组指针用法的详细解释(C语言程序设计例题)
5
关于(C/C++)语言文件读写中输出(覆盖)的问题(想要覆盖修改部分文件内容)
1
求大神帮忙在我的代码(栈,C/C++,简单的四则运算)上修改一下,代码和要求都在楼下!
3
发现了一个貌似很有意思的东西
2
c++语言出栈Pop函数调用时参数&e为什么跟定义时形参不一样,形参是指针啊
1
学习不久的c++,想要用类做这个作业,自己写的一部分,但总是出错,很苦恼,有没有大佬写出来参考一下。
5
C语言主调函数与被调函数 奇怪 现象
6
C++与C的头文件,匿名空间与全局作用域
4
c++中使用c的函数要不要加std,c++中使用Linux函数时要不要加上“::"
1
关于C++语言的编译问题,我用的Dev,求大神指点代码的问题
6
c语言的转换改成在c++,要怎样改,求代码
2
C语言单步调试中cannot access memory at address...
3
高手解释一下,c语言方法嵌套问题
2
c语言套嵌循环问题,怎么也想不通问题所在
6
只是换了个头文件原本AC的程序就变超时了,什么情况?
2
C++语言的指针使用 我运行出来结果是对的,但是不能正常退出,请大神帮帮啊
1
C语言中的EOF,好像是退出的时候返回的,可我假如想退出循环,是需要在运行界面输入什么吗?
1
C语言Process exited with return value 3221225477