下面是一个用C语言编写的程序,该程序可以输入一个字符串,然后将该字符串逆序并输出。 ```c #include <stdio.h> #include <string.h> int main() { char str[81]; // 定义字符数组,长度为81以容纳80个字符和1个结束符 // 读取输入字符串,限制输入长度为80 fgets(str, sizeof(str), stdin); // 去掉换行符,因为fgets会读取换行符 str[strcspn(str, "\n")] = 0; int length = strlen(str); for (int i = 0; i < length / 2; i++) { // 交换字符 char temp = str[i]; str[i] = str[length - i - 1]; str[length - i - 1] = temp; } // 输出逆序后的字符串 printf("%s\n", str); return 0; } ``` ### 额外需要注意的逻辑点: 1. **字符串长度检查**:虽然题目限制了字符串长度不超过80个字符,但在实际应用中,最好添加对字符串长度的检查,以防止数组越界。 2. **输入处理**:使用`fgets`读取字符串时,会包含换行符,因此在处理字符串之前需要去掉换行符。 3. **边界条件**:在交换字符时,要注意不要交换超出字符串长度的字符,确保循环条件为`i < length / 2`,以防止重复交换。 [2024-11-21 16:37:15 | AI写代码神器 | 352点数解答]