关于#c语言#的问题:为什么在vscode2022上报错,显示非法continue

同志们这有什么问题吗?为什么在vscode2022上报错,显示非法continue!!


#include
#include
int main()
{
    char ch;
    printf("请输入一个单词的首字母。");
    printf("我们会打印出它的字母。");
    printf("请输入字母,或者按#退出。");
    while ((ch = getchar()) != '#');
    {
        if (ch =='\n')
            continue;
        if (islower(ch))
            switch (ch)
            {
            case 'a':
                printf("aragli,\n");
                break;
            case 'b':
                printf("nanria,\n");
                break;
            case 'c':
                printf("cat,\n");
                break;
            case 'd':
                printf("disis,\n");
                break;
            default:
                printf("这是错误的输入方法。");
            }
        else
            printf("这个只可以输入小写字母。");
        while (getchar() != '\n')
            continue;
        printf("请输入字母或者#");
    }
    printf("bye\n");
    return 0;
}

回答:很明显,编译提示错误,你多了一个 ; 逗号,修改如下

# include <stdio.h>
# include <ctype.h>

int main()
{
    char ch;
    printf("请输入一个单词的首字母。");
    printf("我们会打印出它的字母。");
    printf("请输入字母,或者按#退出。");
    while ((ch = getchar()) != '#')
    {
        if (ch =='\n')
            continue;
        if (islower(ch))
            switch (ch)
            {
            case 'a':
                printf("aragli,\n");
                break;
            case 'b':
                printf("nanria,\n");
                break;
            case 'c':
                printf("cat,\n");
                break;
            case 'd':
                printf("disis,\n");
                break;
            default:
                printf("这是错误的输入方法。");
            }
        else
            printf("这个只可以输入小写字母。");
        while (getchar() != '\n')
            continue;
        printf("请输入字母或者#");
    }
    printf("bye\n");
    return 0;
}

img