Online Compiler C

#include <stdio.h> int main() { char c; int a=0; for(;;){ c=getchar(); if (c=='.')break; if (c>='0'&&c<='9')a++; } printf("%d",a); return 0;
这段代码的功能是:从输入中读取字符,直到遇到句点为止,并统计其中数字字符('0'到'9')的个数,最后输出这个个数。

- 你的代码没有包含输入结束的判断,比如当用户按下Ctrl+D(Linux/Mac)或Ctrl+Z(Windows)时,getchar会返回EOF。如果输入中没有句点,程序会一直等待输入,无法正常结束。建议考虑处理EOF的情况。
- 变量c被声明为char类型,但getchar返回的是int类型,用于区分字符和EOF。将c改为int类型可以避免在某些系统上无法正确判断EOF的问题。