getchar()函数

时间:2013-03-31 16:16:04

标签: c getchar

我目前正在尝试使用getchar()来计算数字的位数。

如果我使用getchar(条件不计算点数或逗号)并且我输入一个像345.234的数字它是否像3-4-5-2-3-4一样计数6或者它像34-一样计数4 5-23-4?

i=0
while((c=getchar())!=',' && c!=EOF)
i++;

简单的问题 它计算多少钱 一次输入345.234和ctrl + z 它算4吗? 还是数到6

2 个答案:

答案 0 :(得分:1)

只要不返回igetchar(),对EOF的每次调用都会递增

','

如果您输入345.234然后点击Ctrl-Z,那么在离开7循环时,i的值将为while

3个数字+ 1个点+ 3个数字= 7个字符。

答案 1 :(得分:0)

也许

#include <stdio.h>

int main(){
    int i=0,c;
    while(EOF!=(c=getchar())){
        if(c != ',' && c != '.' && c!= '\n')
            ++i;
    }
    printf("number count is %d\n", i);
    return 0;
}