c语言 EOF判断循环结束问题
  • 板块灌水区
  • 楼主cjz13683356870
  • 当前回复12
  • 已保存回复12
  • 发布时间2020/10/4 20:21
  • 上次更新2023/11/5 12:01:29
查看原帖
c语言 EOF判断循环结束问题
382198
cjz13683356870楼主2020/10/4 20:21
#include<stdio.h>
int main(void) {
    char ch;
    int words = 0, letters = 0;
    while ((ch = getchar()) != EOF)
    {
    if ((ch>='A' && ch <= 'Z') || (ch>='a' && ch <= 'z'))
        letters++;
    if (ch == ' ' || ch == ',' || ch == '.' || ch == '\n')
        words++;
    }
    printf("Totally %d words and %d letters!", words, letters);
    printf("Average = %f", (double)letters / (double)words);
    return 0;
}

为什么输入像"lala la lalala^Z"这样的,while循环不会结束,必须要换行之后输入^Z循环才会结束呢?

2020/10/4 20:21
加载中...