在线编译器 C

#include <stdio.h> int is_prime(int n) { int i, c = 1; for (i = 2; i < n; i++) { if (n % i == 0 && i != n) { c = 0; break; } } if (c == 0) return 0; else return 1; } int main() { printf("%d", grow_up(0)); return 0; }
这段代码定义了一个判断素数的函数 `is_prime`,但在 `main` 函数中调用了一个未定义的函数 `grow_up`,导致编译错误。

- 你需要在 `main` 函数中调用 `is_prime` 来测试它,而不是调用不存在的 `grow_up`。注意函数名要写正确。
- 在 `is_prime` 函数中,循环条件 `i < n` 和判断 `i != n` 有些冗余。思考一下,当 `i` 从2开始且小于 `n` 时,`i` 是否可能等于 `n`?这个条件可以简化。