#include<iostream>
void show()
{
std::cout<<"hello world";
}
int main()
{
std::cout<<show();
return 0;
}
和下面的函数有什么区别?为什么有这个区别?
#include<iostream>
int show()
{
std::cout<<"hello world";
return 111;
}
int main()
{
std::cout<<show();
return 0;
}
一个函数的函数名既是该函数的代表,也是一个变量。由于函数名变量通常用来把函数的处理结果数据带回给调用函数,即递归调用,所以一般把函数名变量称为返回值。
函数可以有返回值,也可以没有返回值。对于没有返回值的函数,功能只是完成一个操作,而不能返回运算的结果。对于没有返回值的函数,功能不仅是完成一个操作,还能返回运算的结果,功能更加强大。
例如:
void funcplus(int a,int b)如上所示:funcplus只完成了 a+b的运算,结果没有返回,所以我们得不到计算的结果。
funcplusRet,完成了a+b的运算,并且返回了结果,我们可以获得结果。
那个不能运行,如果这么改呢:
#include
int show()
{
std::cout<<"hello world";
return 111;
}
int main()
{
std::cout<<show();
return 0;
}
那std::cout<<show();显示的不仅仅只有show()运行之后的返回值,还有 "hello world",这是为什么?
先调用show(),显示"hello world"。然后show()运行完毕,回到main函数,显示函数show()返回的值,即111……
追问那程序应该是先判断被调用的函数是否有返回值,如果有,则显示过“hello world”,再显示“111”;如果没有返回值,则语法错误。是这样吗?
追答实际上是编译器在产生程序的二进制码时候先判断被调用的函数是否有返回值,如果没有返回值,则报告“语法错误”,可能还会停止编译;否则就把程序的二进制码写成先调用函数show(在函数内部的代码被编译成显示“hello world”的二进制码),然后根据show函数的返回值的类型,以一定的格式显示show函数的返回值
而在程序运行的时候只是照着编译好的二进制码做而已
那赋值变量和不赋值变量,对于调用来说,有什么区别呢?
追答对调用来说没区别。
只是没返回值的函数是不能赋值而已,有返回值的随你用不用
c++问题,调用有返回值和没有返回值的函数,为什么不同呢?
一个函数的函数名既是该函数的代表,也是一个变量。由于函数名变量通常用来把函数的处理结果数据带回给调用函数,即递归调用,所以一般把函数名变量称为返回值。函数可以有返回值,也可以没有返回值。对于没有返回值的函数,功能只是完成一个操作,而不能返回运算的结果。对于没有返回值的函数,功能不仅...
在C++编程中,有返回值和没有返回值有什么区别?
return 0;0表示正常。在main函数中返回0,代表程序正常结束。void声明的函数表示不需要返回值,其实默认return 0,表示函数正常结束。在其他声明有返回值的函数,如int Add(...)进行加法操作,你返回一个值就是两个数相加后的结果,这个值是你需要在函数结束后获取的一个数值,因为你需要知道这个值是...
返回值C++中的返回值
在C++中,函数可以带有返回值,也可以无返回值。无返回值的函数主要用于完成特定操作,其返回类型应设为void,无需使用return语句。例如,`void backward(int n)`函数用于倒序输出输入整数,如果需要退出,可以在适当位置添加return。在`main`函数中,通过调用这个函数并输出结果来实现。对于有返回值的函数...
c++中返回值的优点有什么,有返回值和没返回值有什么区别??
返回值,编译器通常的做法是,产生一个临时对象或变量,调用拷贝构造函数,再将该对象指定给传回的参数;没有返回值,多半会在函数里传递一个引用或指针,达到返回值的效果
C++里的返回void类型的函数与无返回值的函数的区别是什么?
构造函数和析构函数是用于创建和摧毁对象,所以不需要返回值。下面是两种函数的区别。【普通函数】通俗的讲,就是通过传入“数据”(某些情况不需要输入),计算之后,“输出”需要的值,或者执行所需的操作。所以普通函数的重点在于“输出”。如果该函数的确不需要“输出”数据,那么通过void来进行标记,就...
...0;起什么作用,另外函数有返回值和没有返回值有没有什么区别?哪种安...
return 0 主要充当一个开关角色,跟调用该函数的上层函数相互呼应 。无返回值跟有返回值比,安全机制要高一些,毕竟无返回值的函数相当于只读,而有返回值却要处理数据。不过,安全机制一般都用类来处理
有返回值的函数和没返回值的函数的区别
什麼时候用看你是否需要了。比方一个方法是往数据库中插入数据的。这个方法是没有返回值的,因为他的动作仅仅是插入数据。但是如果你想知道数据插入是否成功,那麼这个函数就需要一个返回值了。即插入成功返回true,失败返回false。
c++ return0和return有什么区别呢?
一、使用时机不同 1、return 0:在主函数没有返回值的情况下使用,指代返回值。2、return:在表示程序段结束时候使用,表示部分程序段结束。二、内存机制不同 1、return 0:整个程序段结束,内存中存储的变量释放。2、return:部分程序段结束,内存中存储的变量不会释放。三、程序执行顺序不同 1、...
C++的函数返回值是什么意思 通俗点讲
C++的函数返回值是由于函数名变量通常用来把函数的处理结果数据返回给调用函数,即递归调用,所以一般把函数名变量称为返回值,函数的返回值类型是在定义函数时指定的。函数可以有返回值,也可以没有返回值:1、没有返回值的函数:功能只是完成一个操作,应将返回值类型定义为void,函数体内可没有return...
C\/C++中的函数加return 0;和不加return 0有什么区别???
区别不大。加return 0表示返回值为整型,不加表示返回值为空。一般在需要用到返回值进行判断时,比如判断执行是否成功,成功返回0,不成功返回1。这时就需要用到返回值。而当函数执行不需要判断时,返回0 或返回空就没什么区别了。我的习惯是一般都会有返回0。