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

#include <stdio.h> int main() { char c; do { scanf("%c", &c); if (c >= 'A' && c <= 'Z') { int letter=c+32; printf("%d",letter); } } while (c != '.'); return 0; }
这段代码的功能是:从输入中逐个读取字符,遇到大写字母时将其转换为小写字母的ASCII码并输出,直到遇到句点为止。

- 代码中 `int letter=c+32;` 将大写字母转换为小写字母的ASCII码,但输出时使用了 `%d` 打印数字,而不是字符。如果希望输出小写字母本身,应该使用 `%c` 格式符。
- 另外,`scanf("%c", &c)` 会读取包括空格和换行符在内的所有字符,这可能导致意外的行为。可以考虑在格式字符串中添加空格来跳过空白字符。