用键盘输入一串字符判断有多少数字 ,输出的答案不正确

用键盘输入一串字符判断有多少数字
输出的答案不对是哪里错了呀


#include
int main()
{
int i=0; 
char ch;
printf("请输入一串字符");
scanf("%c",&ch);
while((ch=getchar())!='\n')
if(ch>='0'&&ch<='9')
    i++;
printf("有%d个数字\n",i);
return 0;
}

去掉下面这行代码

scanf("%c",&ch);

因为while循环里面已经有读取字符的语句了, 所以并不需要上面这一行。

第8行删掉