Online Compiler C

#include <stdio.h> int main() { char c; int count_digit=0,sum=0; do{ scanf("%c",&c); if(c>='0'&&c<='9'){ count_digit++; int digit=c-'0'; sum=sum+digit; } }while(c!='.'); printf("count=%dsum=%d\n",count_digit,sum); return 0; }
这段代码的功能是:从输入中逐个读取字符,统计数字字符('0'到'9')的个数,并计算这些数字字符对应的数值之和,直到遇到句点('.')为止。最后输出统计结果。

- 代码中 `scanf` 会读取包括空格和换行符在内的所有字符,这可能导致输入行为与预期不符。例如,输入 "12.3" 时,数字字符的读取顺序可能受到空白字符的影响。
- 输出格式中 `count=%dsum=%d` 缺少空格或分隔符,可能导致输出结果连在一起不易阅读,例如显示为 "count=2sum=3"。