为什么我的程序不运行?
eyeGlassesColour=input ('Please, input your eye glasses colour:\n');
if eyeGlassesColour == 'red'
fprintf('They are pretty.\n');
else
fprintf('Buy another pair.\n');
end
您需要指定输入命令的用户条目应为字符串。所以你的代码的第一行应该是:
eyeGlassesColour=input ('Please, input your eye glasses colour:\n', 's');
使用 's' 标志作为第二个参数。
此外,使用 '==' 运算符要求要比较的两个字符串的长度完全相同,否则会产生运行时错误。因此,如果用户输入诸如“蓝色”或“绿色”之类的内容,它将产生错误,而不是返回 false 并执行 else 块。因此,最好使用“ strcmp() ”来比较字符串,如下所示:
if strcmp(eyeGlassesColour, 'red') == true
请注意,“strcmp()”区分大小写,因此如果您希望“Red”或“RED”等字符串也返回 true,请改用不区分大小写的“strcmpi()”。