红袍耗子 发表于 2020-10-11 08:48:30

关于使用break退出循环的问题

为什么我这个代码按Esc键只会清除输入的内容,而不会结束循环?教教我。。。
#include <stdio.h>
int main()
{
        char ch;
        printf("input characters:\n");
        for(;;)
        {
                scanf("%c\n", &ch);
                if(ch == 27)
                {
                        break;
                }
                else if(ch == 13)
                {
                        continue;
                }
                printf("%c\n", ch);

        }

        return 0;
}

红袍耗子 发表于 2020-10-11 08:52:21

{:5_104:}

风过无痕1989 发表于 2020-10-11 09:37:30

ESC (27) 与 CR(13) 都不是可以直接输入的字符! ESC 输入的是三个字符,CR 输入的是两个字符,而 %c 一次只接收一个字符
页: [1]
查看完整版本: 关于使用break退出循环的问题