如何在不运行代码的情况下确定代码的结果

时间:2019-05-30 16:40:35

标签: matlab

如果给我下面的代码,我怎么知道结果的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,但我不明白您是怎么得到的。如果有人可以让我更清楚我将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:4)

从顶部开始:

foo(x, a)有两个参数:xa

foo(-1, 10)表示x = -1a = 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的值