全RE求助

P1908 逆序对

第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


|