首页 新闻 会员 周边 捐助

字符计数问题

0
[已关闭问题] 关闭于 2012-09-19 15:54

#include<stdio.h>
int main()
{
  long nc;
  while(getchar()!=EOF)
  {
    ++nc;
  }
  printf("%ld\n",nc);
  return 0;
}

 

怎样才能执行printf("%ld\n",nc); 这条语句????

oclili的主页 oclili | 初学一级 | 园豆:198
提问于:2012-09-07 11:29
< >
分享
所有回答(2)
1

因为你没有输对 EOF,所有while循环一直进行中

控制台输入assdfdfdfd

按下enter

然后按下ctrl+z

chenping2008 | 园豆:9836 (大侠五级) | 2012-09-07 14:18
按照这样的话,不管输入多少字符,nc始终等于2147344393
支持(0) 反对(0) oclili | 园豆:198 (初学一级) | 2012-09-09 09:26

@jayycc: 我当时是在win7下测试。不是是提供的结果

支持(0) 反对(0) chenping2008 | 园豆:9836 (大侠五级) | 2012-09-09 09:52

@chenping2008: 

是我忘nc的初始化

支持(0) 反对(0) oclili | 园豆:198 (初学一级) | 2012-09-09 14:55
0

nc没有初始化。。。

#include<stdio.h>
int main()
{
  long nc=0; //注意这里
  while(getchar()!=EOF)
  {
    ++nc;
  }
  printf("%ld\n",nc);
  return 0;
}

土豆屋 | 园豆:354 (菜鸟二级) | 2012-09-12 01:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册