如果我得到下面的代码,我怎么知道结果的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
Run Code Online (Sandbox Code Playgroud)
运行该程序时,我可以看到b = 10,但我不知道您如何得到它。如果有人可以让我更清楚我将不胜感激。
谢谢!
从顶部开始:
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