统计单词数,怎么调试的时候无法结束输入?我用的是dev cpp

qq345270199 2007-08-25 02:38:41
#include <stdio.h>
#define IN 1
#define OUT 0
main()
{
int c,state,nw;
state=OUT;
nw=0;
while((c=getchar())!=EOF){
if(c==' '||c=='\t'||c=='\n')
state=OUT;
else if(state==OUT)
{
state=IN;
++nw;
}
printf("the number of the words : %5d",nw);
}
...全文
253 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
foru111111 2007-08-25
  • 打赏
  • 举报
回复
你要是在main() 前添上一句 #define EOF '\n'
这样就能用ENTER结束了
因为ENTER其实是换行符,不是文件尾
qq345270199 2007-08-25
  • 打赏
  • 举报
回复
up
qq345270199 2007-08-25
  • 打赏
  • 举报
回复
为什么用ENTER不能结束输入??????????
qq345270199 2007-08-25
  • 打赏
  • 举报
回复
#include <stdio.h>
#define IN 1
#define OUT 0
main()
{
int c,state,nw;
state=OUT;
nw=0;
while((c=getchar())!=EOF)
if(c==' '||c=='\t'||c=='\n')
state=OUT;
else if(state==OUT)
{
state=IN;
++nw;
}
printf("the number of the words : %5d",nw);

}是这个
iu_81 2007-08-25
  • 打赏
  • 举报
回复
少了一个}
qq345270199 2007-08-25
  • 打赏
  • 举报
回复
我的意思是大家帮我看下我的程序,看看能不能得到结果.
我调试的时候输入一串字符串,然后我按ENTER,它却只是换行,不运行程序啊....
难道EOF用ENTER不能结束,我以前用的都是ENTER结束的
foru111111 2007-08-25
  • 打赏
  • 举报
回复
EOF在stdio.h中有定义
#define EOF (-1)
因此要结束的话就要输入-1这个存放的代码(不是-1这个数)
幸好Ctrl+Z就是代表(-1)
gfxiang 2007-08-25
  • 打赏
  • 举报
回复
试试这几个Ctrl+Z or Ctrl+C or Ctrl+D
sunlin7 2007-08-25
  • 打赏
  • 举报
回复
想结束时按F6后回车
zz19910504 2007-08-25
  • 打赏
  • 举报
回复
Ctrl+Z 可以输入EOF

69,371

社区成员

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

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