Online Compiler C

#include <stdio.h> int result = 1; int recurs_power(int n, int p) { if (p == 0) { return result; } result = result * n; return recurs_power(n, p - 1); } int main() { printf("Hello, World!\n"); return 0; }
这段代码定义了一个递归函数 `recurs_power`,试图计算 n 的 p 次幂,但使用了全局变量 `result` 来累积结果。`main` 函数中并没有调用这个函数,只是打印了 "Hello, World!"。

- 全局变量 `result` 在多次调用函数时会导致状态残留,如果连续计算不同幂次,结果会出错。递归函数通常应通过参数传递中间结果,而不是依赖外部变量。
- `main` 函数没有实际测试 `recurs_power`,所以代码目前只是定义了一个函数但没有使用它。你需要添加调用并输出结果来验证功能。