如果给我下面的代码,我怎么知道结果的y值是什么。如果这是一个简单的问题,我深表歉意,但我发现这类问题非常困难。
对于foo(-1,10)
function y = foo(x, a)
for k=-1:0
b=x-k;
while (x > -2) && (x < 2)
x=x+a+1;
end
end
y = b + x;
end
运行该程序时,我可以看到b = 10,但我不明白您是怎么得到的。如果有人可以让我更清楚我将不胜感激。
谢谢!
答案 0 :(得分:4)
从顶部开始:
foo(x, a)
有两个参数:x
和a
foo(-1, 10)
表示x = -1
和a = 10
。
从那里下一行。
b = x - k
的开头为b = -1 + (the value of k on that current iteration of the loop
然后,您将对while
循环执行相同的操作。
x = -1 + 10 + 1
所以
x = 10
现在获取该值并将其插入到while
循环条件中:
(10 > -2) and (10 < 2)
此条件是否成立?否。因此,您继续进行for loop
最后,将y
设置为等于b
的值+ x
的值