输入EOF的方法:先换新行(按回车),然后按ctrl+z,然后再回车。
#include stdio.hint main()
{
char ch
int m, n
m = n = 0
printf("please input character:\n")
while ((ch = getchar()) != EOF)
{
if(('A' <= ch) && (ch <= 'Z'))
m++
if(('a' <= ch) && (ch <= 'z'))
n++
}
printf("大写字母个数:%d 小写字母个数:%d\n", m, n)
return 0
}
Ctrl+Z然后回车是Windows控制台输入EOF的方法。(*nix则是Ctrl+D。)EOF(end of file)是文件结束符,表示流的终止标识,在文件处理中常用。
EOF在C语言标准库中定义为一个宏,替换为整数字面量-1(ASCII是0~127,这个值不包含于其中;EOF为int类型,为了返回这个值,很多库函数的返回值都是int而不是char;转化为char后可能为-1和255,具体是哪个要看编译器中char类型是否当作有符号数)。包含<stdio.h>后可以用(c=getchar())!=EOF,直接判断,这里c是字符。如果c是标志变量,那么可以用c=getchar()!=EOF。
----
LS胡扯,回车符(CR, carriage return)是'\r',ASCII是13。
====
[原创回答团]