哪位高人指点一下!
先看看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 ')
改成这样,遇到回车键停止