当我输入一个包含4个字母的单词时,我会停止循环,但它不会停止。它有什么问题? 这是我的代码:
int main()
{
char word[10][20];
int i=0;
while(strlen(word[i])!=4)
{
scanf("%s",&word[i]);
puts(word[i]);
i++;
}
}
答案 0 :(得分:0)
将while(strlen(word[i]) != 4
替换为while ((i-1 >= -1) && (strlen(word[i-1]) != 4))
。
您的版本正在检查尚未输入的当前字词。您读了一个单词,增加了i
并计算了i
单词的长度,但它还没有到此处,但您想检查输入的最后一个单词的长度,所以使用word[i-1]
和添加一个检查(!!)以防止越界(例如while ((i-1 >= -1) && strlen(word[i-1]....)