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

#include <stdio.h> int current = 1; int remaining = 1; void print_sequence(int n) { if (n == o) { return; } printf("%d", current); remaining--; if (remaining == 0) { current++; remaining = cuttent; } print_sequence(n - 1); } int main() { return 0; }
这段代码试图递归打印一个数字序列,但存在几个问题。

代码中使用了全局变量 `current` 和 `remaining` 来控制序列:`current` 表示当前要打印的数字,`remaining` 表示这个数字还需要打印几次。每次打印后 `remaining` 减1,当减到0时,`current` 加1,`remaining` 重置为新的 `current` 值。但递归调用 `print_sequence(n - 1)` 会一直进行直到 `n` 为0。

- 第5行 `if (n == o)` 中的 `o` 应该是数字 `0`,这里写成了字母 `o`,会导致编译错误。
- 第11行 `remaining = cuttent;` 中 `cuttent` 拼写错误,应该是 `current`。