MatLab提示错误

时间:2013-04-16 17:05:23

标签: matlab prompt

为什么我的程序没有运行?

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

1 个答案:

答案 0 :(得分:2)

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

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

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

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

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

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