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

#include <stdio.h> int main(void) { int c; while ((c = getchar()) != EOF) { if (c == '.') { break;} if (c >= 'A' && c <= 'Z') { c += 32; } else if (c >= 'a' && c <= 'z') { c -= 32; } putchar(c); } return 0; }
这段代码的功能是:从标准输入读取字符,遇到句点(.)时停止,并将所有英文字母的大小写互换后输出。非字母字符保持不变。

- 你的代码在遇到句点时直接跳出循环,但题目可能要求遇到句点时不输出该句点并结束程序,这一点你做得正确。
- 注意大小写转换的逻辑:大写字母加32变成小写,小写字母减32变成大写,这个思路是对的,但需要确认ASCII码中大小写字母的差值确实是32。
- 你的代码没有处理输入中可能出现的其他情况,比如数字或标点符号,但当前逻辑已经能正确处理字母,其他字符会原样输出。