yumou 发表于 2021-11-7 11:55:38

EOF应该代表什么键

#include <stdio.h>
int main()
{
        int a,i;
        int num,blank=0,others=0;
        while((a=getchar())!=EOF)
        {
                if(a<='0'&&a>='9')
                        num++;
                else if(a==' '||a=='\n'||a=='\t')
                        blank++;
                else
                        others++;
       }
       printf("%d\n%d\n",blank,others);
       for(i=0;i<10;i++)
       {
               printf("%d出现%d次\n",i,num);
       }
}
-----------------------------------------------------------
为什么我每次点ctrl+c就直接退出运行窗口了?
求助

嘉岳呀 发表于 2021-11-7 11:57:59

本帖最后由 嘉岳呀 于 2021-11-7 12:26 编辑

jackz007 发表于 2021-11-7 11:59:40

       Windows 下是 Ctrl-Z 或 F6
       Linux 下是 Ctrl-D

hrpzcf 发表于 2021-11-7 12:06:36

在windows上,在行的开头按ctrl+z就是EOF,回车就能读到它。

人造人 发表于 2021-11-7 12:10:03

嘉岳呀 发表于 2021-11-7 11:57
EOF 是 '\0'

$ cat main.c
#include <stdio.h>

int main(void) {
    printf("%d\n", EOF);
    return 0;
}
$ gcc-debug -o main main.c
$ ./main
-1
$


yumou 发表于 2021-11-7 17:30:04

本帖最后由 yumou 于 2021-11-7 17:31 编辑

yumou 发表于 2021-11-7 17:32:00

人造人 发表于 2021-11-7 12:10



谢啦,其实我只想知道怎么使用,可能我表述不清哦,感谢科普
页: [1]
查看完整版本: EOF应该代表什么键