在线编译器 C

#include <stdio.h> int main() { int A[2]; int A_save[2]; for (int i = 0; i < SIZE; i++) { scanf("%d", &A[i],&A_save[i]); } printf("%d",A_save[1]); return 0; }
这段代码试图读取数组元素并保存副本,但存在几个问题。

- 代码中使用了未定义的常量 `SIZE`,这会导致编译错误。循环需要知道数组的实际大小,这里数组 `A` 和 `A_save` 的大小都是 2,但循环条件中 `SIZE` 没有被定义。
- `scanf` 的用法有误。`scanf` 的第一个参数是格式字符串,后面应该依次传入每个变量的地址。这里你只写了一个格式字符串 `"%d"`,却传入了两个地址 `&A[i]` 和 `&A_save[i]`,这会导致第二个值无法被正确读取。你需要为每个要读取的变量分别使用 `scanf` 调用,或者使用两个格式说明符(如 `"%d %d"`)并传入两个地址。