分别求输入字符中大小写字符的数量并打印出来。但为什么printf()在while()之中可以打印出来,在while外面就不行呢?

#include
#include<stdio.h>
int main() {
int ch;
int dx= 0,xx=0;

printf("Please enter some characters:\n");
while ((ch = getchar()) != EOF)
{
    if (ch >= 65 && ch <= 90)
        dx++;
    else if (ch >= 97 && ch <= 122)
        xx++;


}
 printf("%d %d\n", dx, xx);
return 0;

}

你要按CTRL+Z组合键才能结束输入,while循环才能结束,结束循环才执行printf语句
你肯定是没有按CTRL+Z。一直在输入字符,所以while一直没有结束造成的
满意请点击采纳支持一下

在外面也可以啊:

#include<stdio.h>
int main() {
int ch;
int dx= 0,xx=0;

printf("Please enter some characters:\n");
while ((ch = getchar()) != EOF)
{
    if (ch >= 65 && ch <= 90)
        dx++;
    else if (ch >= 97 && ch <= 122)
        xx++;
 
 
}
 printf("%d %d\n", dx, xx);
return 0;
}

img