Онлайн компилятор C

#include <stdio.h> int main() { char c; int count=0; while((c>=getchar())!='.' { if (c>='0'&&c<='9') { count++; } } printf("%d",count); return 0; }
这段代码试图统计用户输入中数字字符('0'到'9')的个数,直到遇到句点('.')为止。但代码中存在语法错误和逻辑问题。

- 第6行的while循环条件中,`(c>=getchar())` 的写法不正确。`getchar()` 返回读取的字符,但 `c>=getchar()` 是比较操作,不是赋值,而且比较结果用于判断是否等于'.',这不符合你的意图。应该先读取字符再判断。
- 第6行末尾缺少一个右括号,导致语法错误。

- 建议检查while循环的条件部分,确保先正确读取字符到变量c,再判断c是否等于'.'。同时注意赋值运算符和比较运算符的区别。