标题:[求助]EOF与getchar()的问题
只看楼主
喝茶的小k
Rank: 1
等 级:新手上路
帖 子:87
专家分:0
注 册:2006-7-27
 问题点数:0 回复次数:21 
[求助]EOF与getchar()的问题

源程序如下:

#include<stdio.h>

void main()
{
long nc;
nc=0;
while(getchar()!=EOF)
++nc;
printf("%ld\n",nc);
}
为什么这个程序在vc++6.0下通过调试,但没有运行结果,输入后没反应

请教一下各位高人

搜索更多相关主题的帖子: EOF getchar void main 
2006-07-27 22:18
Roka
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-7-27
得分:0 

你想干什么?
#include<stdio.h>

int main(void)
{
long int nc;
nc=0;
while(getchar()!='\n')
++nc;
printf("%ld\n",nc);
return 0;
}


Programming is Thinking.
2006-07-27 22:37
喝茶的小k
Rank: 1
等 级:新手上路
帖 子:87
专家分:0
注 册:2006-7-27
得分:0 
[CODE][CODE]

这个程序如果用for循环实现

#include<stdio.h>

void main()

{

long c;

for(nc=0;getchar()!=EOF;++nc)

printf("%ld\n",nc);

}

运行结果如下:

此时在按回车数字会继续增加,为什么?

请指教

[IMG]C:\未命名[/IMG]


2006-07-27 22:46
喝茶的小k
Rank: 1
等 级:新手上路
帖 子:87
专家分:0
注 册:2006-7-27
得分:0 
这个程序是用与对字符进行记数的

2006-07-27 22:48
Roka
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-7-27
得分:0 

因为回车也算一个字符,你实际上getchar了2次


Programming is Thinking.
2006-07-27 22:58
Roka
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-7-27
得分:0 

[CODE]#include<stdio.h>
int main(void)
{
long int nc;
char c;
nc=0;
while((c=getchar())!=EOF){
if(c != '\n'){
++nc;
printf("%ld\n",nc);
}
}
return 0;
}[/CODE]


Programming is Thinking.
2006-07-27 23:03
lxs5216
Rank: 1
等 级:新手上路
帖 子:144
专家分:0
注 册:2006-2-3
得分:0 
lz你 先要明白EOF是什么意思哦!这是个初学者很容易困惑的问题,本人初学时也是一样,
有些书上说EOF就是对应键盘上的ctrl+z或f6
你试试了
2006-07-28 09:02
boyatec
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2006-7-28
得分:0 
EOF的值为-1,你不能这样写.
#include<stdio.h>
main()
{
long nc=0;
char c;
c=getchar()
while(c!='\n')
{
nc++;
c=getchar();
}
printf("%ld",nc);
}

2006-07-28 10:51
boyatec
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2006-7-28
得分:0 
以下是引用Roka在2006-7-27 23:03:53的发言:

[CODE]#include<stdio.h>
int main(void)
{
long int nc;
char c;
nc=0;
while((c=getchar())!=EOF){
if(c != '\n'){
++nc;
printf("%ld\n",nc);
}
}
return 0;
}[/CODE]


long int nc,是啥意思?

2006-07-28 10:52
4796的幻想
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-7-7
得分:0 
以下是引用boyatec在2006-7-28 10:52:35的发言:

long int nc,是啥意思?

好象是定义nc为长整型 效果和long nc一样

2006-07-28 11:52



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-80654-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.092411 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved