Online Compiler C

#include <stdio.h> int main() { int a, b, temp; scanf("%d%d", &a, &b); a = b; b = temp; printf("%d\n", a); printf("%d", b); return 0; }
这段代码的目的是交换两个整数并输出交换后的结果,但存在逻辑错误。

- 变量 `temp` 没有被赋值,直接使用它来给 `b` 赋值会导致 `b` 的值不确定。
- 交换两个变量的正确思路是:先用一个临时变量保存其中一个变量的值,再完成赋值。

- 检查 `temp` 的初始值:它没有被初始化,直接使用会得到垃圾值。
- 思考交换的步骤:应该先保存 `a` 的值到 `temp`,再让 `a` 等于 `b`,最后让 `b` 等于 `temp`。