首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

哪位高人指点一下!该如何解决

2012-02-14 
哪位高人指点一下!先看看c程序和输出:程序:#includestdio.h/*统计输入的字符数;第1个版本*/main(){longn

哪位高人指点一下!
先看看c程序和输出:

程序:

#include     <stdio.h>
/*   统计输入的字符数;第1个版本*/
main   (   )
{
long     nc;
nc   =   0;
while   (   getchar   (   )   !=   EOF   ){
++nc;
printf( "%ld\n ",   nc);}
}

-----------------------------
输出结果(测试)

用键盘输入:

D(回车)

屏幕输出:

1
2
---------------------------------

我本想的是只出现1,为什么会出现个2呢。那位大侠帮忙解释下!~貌似很白痴的问题,嘿嘿!~~



[解决办法]
因为 一个是D 一个是回车
都被记录了
[解决办法]
这样就好了
#include <stdio.h>
/* 统计输入的字符数;第1个版本*/
main ( )
{
long nc;
nc = 0;
char c;
while ( (c = getchar ( )) != EOF ){
if(c != ' ' && c != '\n ')
++nc;
printf( "%ld\n ", nc);
getchar();
}
}

[解决办法]
回车也是字符
while ( getchar ( ) != '\n ' )

[解决办法]
while ((c=getchar())!= '\n ')
改成这样,遇到回车键停止

热点排行