在线编译器 C

#include <stdio.h> int main() { char s[1001]; int len = 0, i; scanf("%[^\n]", s); while (s[len] != '\0') { len++; } for (i = len - 1; i >= 0; i--) { printf("%c", s[i]); } return 0; }
这段代码的功能是读取一行字符串,然后将其逆序输出。它先计算字符串长度,再从最后一个字符开始向前逐个打印。

- 代码中 `scanf("%[^\n]", s)` 可以读取包含空格的整行,但需要注意它不会自动检查输入长度是否超过1000个字符,如果输入过长可能导致数组越界。
- 逆序输出的循环从 `len-1` 到 `0` 是正确的,但输出后没有换行,可能影响结果的可读性。