快速Java问题,垃圾值

时间:2015-10-19 07:28:26

标签: java

我有以下多项选择题:

  

函数setup()作为运行程序调用一次。

     

foo中x的值是多少?

void setup() {
  double a = 10, b = 20;
  double temp = foo(a, b);
}

double foo(double x, double y) {
  return x * y;
}

选项包括:

  • 10
  • 20
  • 垃圾

我的理解是setup()运行,调用foo()并在其中为x和y在内存中创建新空间,然后为它们赋值10和20.所以答案应该是20.但我很困惑为什么垃圾是一个可能的答案,如果这可能是答案。

3 个答案:

答案 0 :(得分:0)

x 10 y 20foo你不改变x和y的值?函数。不会有任何垃圾值。

答案 1 :(得分:0)

我相信你的问题,询问变量' x'中存储的值是多少?在调用函数setup()之后。

那么,如果是这样,那么垃圾就是正确的答案。因为,变量' x'是foo()函数的本地函数。函数foo()返回后,分配给变量' x'被释放,如果你以某种方式设法查看变量' x'之前使用的内存位置保存的值。那么它应该被视为垃圾值。如果它是静态变量那么它应该是值' 10'

答案 2 :(得分:0)

在函数foo(double x,double y)中x是第一个参数,因此x的值将为10