Online Compiler C

#include <stdio.h> int sum_to_n(int n){ if(n==1){ return n; }return (sum_to_n(n-1))+n; } int main() { int x; scanf("%d",&x); sum_to_n(x); printf("%d",x); return 0; }
这段代码定义了一个递归函数 `sum_to_n`,用于计算从1到n的整数和,但在主函数中调用后没有正确输出结果。

- 主函数中调用 `sum_to_n(x)` 后没有保存返回值,而是直接打印了输入的 `x`,所以输出的是输入值本身,而不是计算结果。
- 递归函数 `sum_to_n` 的逻辑是正确的,但需要将它的返回值赋给一个变量,然后打印这个变量。