2016-10-11 2 views
0

Вот мой код:Dimension ошибка несоответствия при сравнении строк с «==»

a='abc'; 

key = input('Enter secret: ', 's'); 

if key =='abc' 
fprintf('Correct') 
else 
fprintf('Wrong. Re-enter.'); 
end 

Когда я запускаю код, я ввожу abcdefg, он показывает ошибку:

Error using ==, matrix dimension must be agree.

Как Я предотвращаю такую ​​ошибку?

+7

Используйте [strcmp] (https://de.mathworks.com/help/matlab/ref/strcmp.html) вместо сравнения строк. –

+0

Спасибо, сэр. Я забыл эту функцию! – kenreal

ответ

1

== не работает, когда матрицы имеют разные размеры. 'abc' действительно массив символов 1x3. При сравнении строк следует использовать strcmp или strcmpi. Альтернативой является isequal, но я бы рекомендовал использовать один из двух других.

Смежные вопросы