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

#include <stdio.h> char upper(char c) { if (c >= 'A' && c <= 'Z') { int letter = c + 32; return letter; } else if (c >= 'a' && c <= 'z') { int letter = c - 32; return letter; } else if (c != '.') { return c; } else { return } } int main() { return 0; }
这段代码定义了一个函数 `upper`,意图是将大写字母转为小写、小写字母转为大写,其他字符(除了句点)保持不变,遇到句点则返回空。但代码存在语法错误和逻辑问题。

- 在 `else` 分支中,`return` 后面缺少返回值,导致编译错误。你需要明确在遇到句点时应返回什么值。
- 函数名 `upper` 容易让人误解为只转大写,但实际功能是大小写互换。建议检查函数命名是否准确反映其行为。