在线编译器 C

#include <stdio.h> int main (void) { char s[1001] fgets(s,sizeof(s),stdin); int len=0; while(s[len]!='\0' && s[len]!='\n'){ len++; } for(int i=len-1;i>=0;i--){ putchar(s[i]); } putchar('\n'); return 0; }
这段代码的功能是:从标准输入读取一行字符串(最多1000个字符),然后逆序输出该字符串(不包括换行符),最后输出一个换行符。

代码中存在一个语法错误:第5行声明字符数组 `char s[1001]` 后面缺少分号。这会导致编译失败。

- 检查第5行末尾是否缺少分号,C语言中每条语句都需要以分号结束。
- 注意 `fgets` 会读取换行符并存入数组,你的循环正确地跳过了换行符,但需要确保数组大小足够容纳包括换行符和空字符在内的字符串。