为什么要输入两次EOF呢?

kojie_chen 2007-11-24 10:04:23
#include<stdio.h>
void main()
{
char a[1000000];int i=0;
while((a[i]=getchar())!=EOF)i++;a[i]='\0';
for(i=0;a[i]!='\0';i++)
if(a[i]=='<')printf("<");
else printf("%c",a[i]);
}
我这里为什么要输入两次EOF才能结束输入呢,我怎样才能只输入一次EOF就接结束呢
例如输入
int main(void)
{
return 0;
} //EOF 一次
// EOF 第二次
在最后要输入两次EOF才结束,为什么
...全文
234 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
WillyWonka 2007-11-27
  • 打赏
  • 举报
回复
把EOF改称回车键或者你想结束的字符吧`,记得有本书上讲过最好别用EOF,因为你可能永远也输入不了
kojie_chen 2007-11-27
  • 打赏
  • 举报
回复
怎么非要5天才能结贴啊,失败..........bs
kojie_chen 2007-11-27
  • 打赏
  • 举报
回复
谢谢
kojie_chen 2007-11-26
  • 打赏
  • 举报
回复
哪里有中文的 啊
C_coding 2007-11-25
  • 打赏
  • 举报
回复
> の,有没有更好的答案

例如输入
int main(void)
{
return 0;
} //EOF 一次
// EOF 第二次


The first ^Z or ^D can be saved. That one ^Z starting a line does the job alone.

Do you foos read and understand posts by others?

Read my post in this thread,

学了一年c发现才发现的问题 [已结贴,结贴人:donkey20041121]
http://topic.csdn.net/u/20071112/18/26c0efe3-c887-4ffa-8623-1e2ca474231e.html
PcrazyC 2007-11-25
  • 打赏
  • 举报
回复
哦,不好意思,没仔细看清程序,还是那样输出吧
PcrazyC 2007-11-25
  • 打赏
  • 举报
回复
我1楼的程序哪有把回车作为一个字符,那个回车符在下一句代码就用'\0'来代替了

另外你为什么这样输出,用%S输出不更方便吗


#include <stdio.h> 
void main()
{
char a[1000000];int i=0;
while((a[i]=getchar()),a[i]!='\n')
i++;
a[i]='\0';
printf("%s\n",a);
}
kojie_chen 2007-11-25
  • 打赏
  • 举报
回复
の,有没有更好的答案
chlaws 2007-11-25
  • 打赏
  • 举报
回复
while((a[i]=getchar())!=EOF)
//eof 是检测文件是否结束
kojie_chen 2007-11-24
  • 打赏
  • 举报
回复
no no no
xugang_2001 2007-11-24
  • 打赏
  • 举报
回复
EOF 只是一个返回值而已 并非要求输入EOF

返回EOF说明输入有误
PcrazyC 2007-11-24
  • 打赏
  • 举报
回复
觉得不要用EOF来结束循环,感觉不同的编译器处理不同.现在以回车作为结束条件,代码如下,要利用一下逗号运算符


#include <stdio.h> 
void main()
{
char a[1000000];int i=0;
while((a[i]=getchar()),a[i]!='\n')i++;a[i]='\0';
for(i=0;a[i]!='\0';i++)
if(a[i]==' <')printf("<");
else printf("%c",a[i]);
}
C_coding 2007-11-24
  • 打赏
  • 举报
回复
Put ^Z or ^D as the first letter of a line.
kojie_chen 2007-11-24
  • 打赏
  • 举报
回复
但是我要输入回车作为一个字符啊
输出是就输出行一行,只能用EOF来结束,请指教

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧