这是一段用 Matlab 编写的代码:
while flag==1
flag = 0;
disp('end of loop');
end
令人惊讶的是,这不会显示字符串。如果我删除该disp语句,则会出现一个 figure1 窗口。谁能解释为什么?
这是一段用 Matlab 编写的代码:
while flag==1
flag = 0;
disp('end of loop');
end
令人惊讶的是,这不会显示字符串。如果我删除该disp语句,则会出现一个 figure1 窗口。谁能解释为什么?
那只是因为flag是matlab中定义的命令。在启动 Matlab 后尝试输入flag,您将看到出现一个非空矩阵。如果您键入help flag,您将看到该功能的含义。
此外,该函数由 Matlab 选择,因为您没有flag在代码之前声明调用的变量。如果您flag=1在代码之前编写,它会按预期工作。
不过,最好的方法是更改变量的名称,以免隐藏 Matlab 函数。因此,使用以下代码:
myflag = 1;
while( myflag == 1)
myflag = 0;
disp('end of loop');
end