身骑白马入华山 发表于 2017-10-22 21:26:14

C++返回值疑问??!{:10_266:}

本帖最后由 身骑白马入华山 于 2017-10-22 21:46 编辑

#include <iostream>

using namespace std;
int export_2(void);
int export_1(void);
int main()
{
        export_1();
        export_1();
        export_2();
        export_2();

        return 0;
}
int export_1(void)

{
        cout << "three blind mice" << endl;
        return 3;
}
int export_2(void)
{
        cout << "see how they run" << endl;
        return 4;
}

当程序运行的过程,main输出了4条语句,那么export_1和export_2的返回值去哪了?或者干嘛去了?

身骑白马入华山 发表于 2017-10-22 21:31:24

本帖最后由 身骑白马入华山 于 2017-10-22 21:48 编辑

返回值到底有啥用???还是说,返回值是当作参数吗?

丶忘却的年少o 发表于 2017-10-22 21:33:42

是没声明,不是没定义。
把main函数写在那两个函数后面就好了

身骑白马入华山 发表于 2017-10-22 21:46:33

丶忘却的年少o 发表于 2017-10-22 21:33
是没声明,不是没定义。
把main函数写在那两个函数后面就好了

谢谢。。。

hacker.jin 发表于 2017-10-22 22:05:17

两个函数都正确返回了,但是你并没有引用他们的返回值,所以并没有针指向这些返回值,于是他们变垃圾了,他们的值还在内存中但是你已经找不到他们了,如果有其他程序刚好要用到这些返回值存放的内存,他们的值会被直接覆盖,某种意义上来说,你完全可以当他们不存在,如果你要用到这些返回值可以用变量存放起来,比如 int i= 0; i = export_1();或者 printf("%d",export_1());

身骑白马入华山 发表于 2017-10-23 16:06:44

hacker.jin 发表于 2017-10-22 22:05
两个函数都正确返回了,但是你并没有引用他们的返回值,所以并没有针指向这些返回值,于是他们变垃圾了,他 ...

原来如此,谢谢!我应该另外开贴再问的,给不了你最佳答案,抱歉!
页: [1]
查看完整版本: C++返回值疑问??!{:10_266:}