关于C语言中的EOF到底按不按CTRL+Z的疑问
我从<thecprogramminglanguage>(第2版,中文版,徐宝文译)这本书中看到了EOF,以下这个程序#include<stdio.h>//统计输入的字符数...
我从<the c programming language>(第2版,中文版,徐宝文译)这本书中看到了EOF,以下这个程序
#include <stdio.h> //统计输入的字符数
int main()
{
long nc;
nc=0;
while(getchar()!=EOF)
++nc;
printf("%ld\n",nc);
return 0;
}
需要按下CTRL+Z作为EOF的标志,然而依然是这本书上的例子却直接按回车,不用按CTRL Z就行了,为什么?
#include <stdio.h>
#define NONBLANK 'a'
//replace string of blanks with a single blank
//输入复制到输出,把连续的多个空格用一个空格代替
int main()
{
int c,lastc;
lastc=NONBLANK;
while((c=getchar())!=EOF)
{
if(c!=' ')
putchar(c);
if(c==' ')
if(lastc!=' ')
putchar(c);
lastc=c;
}
} 展开
#include <stdio.h> //统计输入的字符数
int main()
{
long nc;
nc=0;
while(getchar()!=EOF)
++nc;
printf("%ld\n",nc);
return 0;
}
需要按下CTRL+Z作为EOF的标志,然而依然是这本书上的例子却直接按回车,不用按CTRL Z就行了,为什么?
#include <stdio.h>
#define NONBLANK 'a'
//replace string of blanks with a single blank
//输入复制到输出,把连续的多个空格用一个空格代替
int main()
{
int c,lastc;
lastc=NONBLANK;
while((c=getchar())!=EOF)
{
if(c!=' ')
putchar(c);
if(c==' ')
if(lastc!=' ')
putchar(c);
lastc=c;
}
} 展开
3个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询