Online Compiler C

#include <stdio.h> int factorial(int n) { int a = 1; for (int i = 1; i <= n; i++) { a *= i; } return a } int main() { printf("%d\n", factorial(6)); return 0; }
这段代码定义了一个计算阶乘的函数 `factorial`,并在 `main` 中调用它输出 6 的阶乘。代码逻辑基本正确,但有一个语法错误。

- 第 8 行的 `return a` 后面缺少分号,C 语言中每条语句必须以分号结束,否则编译会报错。

- 另外,`factorial` 函数没有处理 `n` 为负数的情况,但当前只传入正数 6,所以不影响运行。