c语言问题

[复制链接]
查看11 | 回复1 | 2010-6-3 15:09:20 | 显示全部楼层 |阅读模式
我的题目是统计一个字符中单词数目,空格作为分隔,
#include
int main(void)
{

char c;

int count, word;

int repeat, ri;

scanf("%d", &repeat);

getchar();

for(ri = 1; ri
int main(void)
{

char c;

int count, word;

int repeat, ri;

scanf("%d", &repeat);

getchar();

for(ri = 1; ri <= repeat; ri++){

c = getchar();
word=0;
count=0;
while(c!='\n'){
if(c==' ') word=0;
else if(word==0){

count++;

word=1;}
c=getchar();
}

printf("count = %d\n", count);

}
}
这个就能运行 ,请问后面的c=getchar(); 是什么作用的?为什么原程序就不能运行啊?

回复

使用道具 举报

千问 | 2010-6-3 15:09:20 | 显示全部楼层
如果while循环中不加getchar()调用语句,那么c的值将在while循环的过程中不再改变,于是它不能再读取并判断后面的字符,而始终在用同一个字符与'\n'比较,参与计算,当然不可能成功。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行