2013-04-16 37 views
0

爲什麼我的程序不能運行?MatLab提示錯誤

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

回答

2

您需要指定到input command的用戶條目預計爲字符串。所以你的代碼的第一行應該是:

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

以's'標誌作爲第二個參數。

此外,使用'=='運算符要求兩個要比較的字符串長度完全相同,否則會產生運行時錯誤。因此,如果用戶輸入類似'blue'或'green'的東西,它將產生一個錯誤,而不是返回false並執行else塊。因此,最好使用「strcmp()」比較字符串,如下列:

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

注意「的strcmp()」是大小寫敏感的,所以如果你想字符串,如「紅色」或「 RED'也返回true,請使用不區分大小寫的'strcmpi()'。