【发布时间】:2018-06-06 10:57:13
【问题描述】:
让我们考虑一下代码
int function(){
return 1;
}
main(){
function();
}
我没有为返回整数的函数调用分配任何变量。它没有引发错误。内部实际发生了什么?
【问题讨论】:
让我们考虑一下代码
int function(){
return 1;
}
main(){
function();
}
我没有为返回整数的函数调用分配任何变量。它没有引发错误。内部实际发生了什么?
【问题讨论】:
值在栈上返回,出栈,值被丢弃。这是完全正常的,经常发生。我们经常调用返回不需要使用的东西的函数,因此不要使用。
【讨论】:
内部实际发生了什么?
返回值被简单地丢弃。
正常情况下
x = foo();
调用函数中的代码在函数调用之后执行,当它返回时将返回值移动到变量x。如果您这样做,则此代码将被省略
foo();
【讨论】:
实际上,您的方法返回一个整数值,但您没有将它分配给任何变量来存储它。如果你把它打印出来,它就会打印出来。
System.out.println(function());
【讨论】: