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

#include <stdio.h> void reverse_string(void){ char c; if (scanf("%c", &c) == '.'){ return; } reverse_string(); printf ("%c",c); } int main() { return 0; }
这段代码定义了一个递归函数 `reverse_string`,它从标准输入读取字符,遇到句点 '.' 时停止读取,然后按逆序输出之前读取的所有字符。但 `main` 函数中没有调用 `reverse_string`,所以程序实际上不会执行任何反转操作。

- 在 `main` 函数中,你需要调用 `reverse_string` 函数,否则递归不会启动。
- 递归的终止条件使用了 `scanf` 的返回值与 `'.'` 比较,但 `scanf` 返回的是成功读取的项数,而不是读取到的字符。你需要检查读取到的字符 `c` 本身是否为 `'.'`。