0

为什么我的程序不运行?

eyeGlassesColour=input ('Please, input your eye glasses colour:\n');
if eyeGlassesColour == 'red'
fprintf('They are pretty.\n');
else
fprintf('Buy another pair.\n');
end
4

1 回答 1

2

您需要指定输入命令的用户条目应为字符串。所以你的代码的第一行应该是:

eyeGlassesColour=input ('Please, input your eye glasses colour:\n', 's');

使用 's' 标志作为第二个参数。

此外,使用 '==' 运算符要求要比较的两个字符串的长度完全相同,否则会产生运行时错误。因此,如果用户输入诸如“蓝色”或“绿色”之类的内容,它将产生错误,而不是返回 false 并执行 else 块。因此,最好使用“ strcmp() ”来比较字符串,如下所示:

if strcmp(eyeGlassesColour, 'red') == true

请注意,“strcmp()”区分大小写,因此如果您希望“Red”或“RED”等字符串也返回 true,请改用不区分大小写的“strcmpi()”。

于 2013-04-16T17:09:58.073 回答