Online Compiler C

#include <stdio.h> int sum_1_to_n(int n) { { if (n == 1) return 1; } int a = sum_1_to_n(n - 1) + n; } int main() { int n; scanf("%d".n) printf("%d", sum_1_to_n(n)); return 0; }
这段代码试图用递归函数计算从1到n的整数和,但存在几个问题。

- 在`scanf`中,参数传递方式有误,应该使用`&n`而不是`.n`,并且`scanf`语句后面缺少分号。
- 递归函数`sum_1_to_n`中,`if`语句外面的花括号是不必要的,而且递归调用后的赋值语句`int a = ...`没有返回值,函数应该直接返回计算结果。