第25行你的 $&$ 呢?
by xu15165563857 @ 2024-03-07 19:51:55
```cpp
for (int i = 1;i <= n;i++) scanf("%d",&a[i]);
```
by xu15165563857 @ 2024-03-07 19:53:02
@[xu15165563857](/user/818000) 啊不是数组元素不用吗
by chenxi797 @ 2024-03-07 19:53:14
30分
by chenxi797 @ 2024-03-07 19:54:00
@[chenxi797](/user/735165) 上网搜搜 $scanf$ 的用法啊
by xu15165563857 @ 2024-03-07 19:55:18
@[xu15165563857](/user/818000) 哦哦好的 能再帮我调一下吗
by chenxi797 @ 2024-03-07 20:00:46
@[chenxi797](/user/735165)
a[i] 它表示的是a的第i项
a 它是一个数组 在c++中数组的定义大概是这样的(我也不知道会不会报错 你就当伪代码看吧)
```cpp
template<class T1>
T1 operator[](T1*pos,int sub){
return &(pos+sub);//记住这个&一会要考
}//pos是数组 sub 是下标
```
数组本身是什么,比方说你定义了一个数组
```cpp
int a[10];
```
a它不仅仅是一个数组 你使用
```cpp
std::cout<<a;
```
时你会发现它输出的不是里面的内容而是一个地址
这是数组第一项的地址
所以scanf("%d",a);是数组第一项的地址 也只输入第一项
前面提到了[]的重载记得那个取内容不?
a[i]是一个具体的数,它不是一个地址 所以我们要使用scanf("%d",&a[i]);或scanf("%d",a+i);
by cheng827922 @ 2024-03-07 20:08:26
```cpp
if (a[i] <= a[j]) b[k++] = a[i++];
```
少了个等号,不知道为什么的话去看一下逆序对的定义
by xu15165563857 @ 2024-03-07 20:17:07
@[xu15165563857](/user/818000) @[cheng827922](/user/1061387) thx,已AC
by chenxi797 @ 2024-03-07 20:21:33