2

我在使用文本作为 while 循环的条件时遇到了一些麻烦,目前基本编码是:

result=struct('val','yes');

while result.val=='yes'
result.val=input('more digits?');
end

如您所见,我试图做的是只要用户输入“是”就保持循环继续进行。但这就是我遇到的问题之一;有没有办法摆脱写''的需要(例如是而不是'是')?其次,当我运行代码时,它会给我错误消息“使用 == 时出错,矩阵尺寸必须一致。”。我意识到这与“是”这个词比“否”长有关,但我不知道如何解决它。尽管考虑到程序无论如何都会结束,但这并不是一个真正的问题,但这是我想摆脱的烦恼。

4

1 回答 1

3

要比较字符串,请使用strcmpstrcmpi忽略大小写。它将处理不同长度字符串的比较。例如:

strcmpi(result.val,'yes')

如果要在输入的开头搜索子字符串,例如只是一个“y”,请考虑strncmpi( strncmpi(result.val,'y',1)) 或只检查第一个字符 ( result.val(1))。

于 2013-11-14T19:13:43.443 回答