我目前正在尝试使用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
答案 0 :(得分:1)
i
或getchar()
,对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;
}