我有以下多项选择题:
函数setup()作为运行程序调用一次。
foo中x的值是多少?
void setup() {
double a = 10, b = 20;
double temp = foo(a, b);
}
double foo(double x, double y) {
return x * y;
}
选项包括:
我的理解是setup()运行,调用foo()并在其中为x和y在内存中创建新空间,然后为它们赋值10和20.所以答案应该是20.但我很困惑为什么垃圾是一个可能的答案,如果这可能是答案。
答案 0 :(得分:0)
x
10
y
20
将foo
你不改变x和y的值?
函数。不会有任何垃圾值。
答案 1 :(得分:0)
我相信你的问题,询问变量' x'中存储的值是多少?在调用函数setup()之后。
那么,如果是这样,那么垃圾就是正确的答案。因为,变量' x'是foo()函数的本地函数。函数foo()返回后,分配给变量' x'被释放,如果你以某种方式设法查看变量' x'之前使用的内存位置保存的值。那么它应该被视为垃圾值。如果它是静态变量那么它应该是值' 10'
答案 2 :(得分:0)
在函数foo(double x,double y)中x是第一个参数,因此x的值将为10