Online Compiler C

#include <stdio.h> int absolute(int n) { if (n < 0) return -n; else return n; } int main() { int num; scanf("%d", &num); int res = absolute(num); printf("%d", res); return 0; }
这段代码定义了一个函数 `absolute`,用于计算整数的绝对值,然后在 `main` 函数中读取用户输入并输出其绝对值。代码逻辑基本正确,但有一个潜在问题。

- 当 `n` 等于 `-2147483648`(即 `int` 类型的最小值)时,`-n` 会溢出,因为 `int` 无法表示这个值的相反数。你需要考虑如何处理这种边界情况。
- 检查 `scanf` 的返回值可以确保输入有效,但这不是必须的。