C语言字符计数程序出不来结果
#include<stdio.h>main()
{
long nc;
nc = 0;
while (getchar() != EOF)
++nc;
printf("%ld\n", nc);
}
用的软件是VS2019
求助大家! 键盘输入没有EOF,文件末尾才有EOF
EOF就是end of file(文件末尾)
可以输入一个特殊符号表示结束(如0) 这个EOF是文件里面使用的,可以修改一下
#include<stdio.h>
int main()
{
long nc;
nc = 0;
while (getchar() !=' \n')
++nc;
printf("%ld\n", nc);
}
以输入回车健停止判断退出循环 本帖最后由 jackz007 于 2020-9-11 18:12 编辑
在 Windows 下,long 和 int 一样都是32位整型,如果想定义64位整型应该用 long long,如果要显示一个 64 位整型数,printf() 的格式描述符不能用 "%ld" 应该按照微软的规矩,使用 "%I64d",因为,这个函数是 Windows 的库函数,各项输入参数是由 Windows 负责解析的。
#include <stdio.h>
main(void)
{
long long nc ;
nc = 0 ;
while (getchar() != EOF) nc ++ ;
printf("%I64d\n" , nc) ;
} 按键没有EOF,所以一直在计算,如果你按得够快,你电脑会卡死。把EOF换成'/n',表示换行,即按下了回车键,while就会退出,然后可以运行。
等等,while也可以不加大括号吗?
页:
[1]