a[j]>a[i]&&k++;这是什么写法,求教。
by RDFZchenyy @ 2022-02-18 16:37:42
还有这个,把```a[j]>a[i]&&k++;```改为```a[j] > a[i] ? k++:1;```,也是本地能过可是洛谷过不了...
by sduoooh @ 2022-02-18 16:39:57
@[RDFZchenyy](/user/567610) 阿哲,我是看到b站上有一个up主写14行贪吃蛇的代码里出现了这个,我就想试试......
我猜是使用```&&```时,若左侧为真才继续执行右侧;使用```||```时,左侧为假才执行右侧。我就试了试发现可行——
by sduoooh @ 2022-02-18 16:43:07
```cpp
#include<bits/stdc++.h>
using namespace std;
int a[10000];
int main()
{
int n,end;
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
for(int i=1;i<=n;i++)
for(int j=1;j<=i;j++)
if(a[j]>a[i])
end++;
printf("%d",end);
return 0;
}
```
@[sduoooh](/user/606023)
emm...jiuzhe?
by tian_jun_cheng @ 2022-02-18 16:43:43
@[RDFZchenyy](/user/567610) 同理,把上面那个语句改成```a[j] <= a[i] || k++;```我发现也是一样的,所以我觉得这可能是一个特性吧(手动笑哭)
by sduoooh @ 2022-02-18 16:45:53
@[tian_jun_cheng](/user/377434) 我是傻子,开的数组里边不应该是n......问题解决了
by sduoooh @ 2022-02-18 16:48:55
哈哈[doge]
PS:【举报】验证码(YDTM)中存在辱骂或不友善内容
by RDFZchenyy @ 2022-02-18 16:49:10
@[RDFZchenyy](/user/567610) 我是傻子,开的数组里边不应该是n......问题解决了
by sduoooh @ 2022-02-18 16:49:13
@[RDFZchenyy](/user/567610) 阿哲(手动笑哭)
by sduoooh @ 2022-02-18 16:50:01
@[sduoooh](/user/606023) 顺带提一句,这个是逻辑运算符的短路特性,即 `a||b` 如果 `a` 为真则不会去计算 `b`,对 `&&` 有类似的效果
by WYXkk @ 2022-02-18 17:00:52