Онлайн компилятор C

#include <stdio.h> int main() { int x, y; scanf("%d %d",x,y); int max, min; if (x > y) { max = x; min = y; } else { max = y; min = x; } for (int i = min; i <= max; i++) { printf("%d ", i * i * i); } return 0; }
这段代码的目的是从用户输入两个整数,然后输出这两个整数之间(包含两端)所有整数的立方值。代码逻辑基本正确,但有一个关键错误。

- 在 `scanf` 函数中,变量 `x` 和 `y` 前面缺少取地址运算符 `&`。`scanf` 需要变量的地址才能正确存储输入的值,所以应该写成 `&x` 和 `&y`。