C++中,for循环是一条符合语句,循环控制变量可以定义在这条语句内部,且在这条语句内部,也可以定义其他的变量。循环已结束,这条语句内部定义的变量均会被释放。
我们来看MATLAB是不是这样的,在MATLAB 2014a中运行下面的代码:
clc
clear
for i = 1:5
m = i-1;
end
fprintf('%d\n', i);
fprintf('%d\n', m);
程序运行的结果是:
5
4
说明,循环结束后,for循环内部使用的变量均不会释放。也就是说,MATLAB不存在C++那样的语句块作用域,如果使用了一个变量,那么这个变量就是在整个文件运行期间均存在且可见。