Online Compiler C

#include <stdio.h> int sum_1_to_n(int n) { if (n == 1) return 1; return sum_1_to_n(n - 1) + n; } int main() { int n; scanf("%d",&n); printf("%d\n", sum_1_to_n(n)); return 0; }
这段代码定义了一个递归函数 `sum_1_to_n`,用来计算从1到n的整数和。主函数读取一个整数n,然后调用这个函数并打印结果。递归的思路是:如果n等于1,返回1;否则返回 `sum_1_to_n(n-1) + n`,即前n-1个数的和加上n。

- 注意递归的终止条件:当n为1时返回1,这能正确结束递归。但考虑一下如果用户输入0或负数,程序会怎样?递归会无限进行下去,导致栈溢出。可以思考是否需要处理非正整数的情况。
- 另外,代码的缩进风格不太一致,比如 `if` 语句的 `return` 缩进比预期多了一格,虽然不影响运行,但保持一致的缩进会让代码更易读。