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

#include <stdio.h> int sum_to_n(int n){ if(n==1){ return n; }return sum_to_n(n-1); } int main() { int x; scanf("%d",&x); sum_to_n(x); return 0; }
这段代码定义了一个递归函数 `sum_to_n`,目的是计算从1到n的整数和,但实现有误。主函数读取一个整数并调用该函数,但没有输出结果。

- 递归函数 `sum_to_n` 在 `n==1` 时返回1,但在其他情况下只递归调用 `sum_to_n(n-1)` 而没有加上当前的 `n`,所以返回值只是1,而不是正确的和。
- 主函数中调用了 `sum_to_n(x)`,但没有将返回值打印出来,因此程序运行后看不到任何计算结果。