Online Compiler C

#include <stdio.h> int main() { int input, n = 0; scanf("%d", input); while (input > 0) { n = n * 10 + input % 10; input = input / 10; } printf("%d",n); return 0; }
这段代码试图将输入的整数反转后输出。它通过循环不断取出输入数字的最后一位,并拼接到新数字 `n` 的末尾,同时去掉原数字的最后一位。

代码中存在一个关键错误:`scanf` 函数使用变量时,需要传递变量的地址,而不是变量本身。

- 检查 `scanf` 这一行,确保你正确传递了 `input` 的地址。
- 思考一下,如果输入的数字以0结尾(比如120),反转后的结果会是什么?你的代码当前会如何处理这种情况?