“!”是什么意思?运算符表示它是否在数组索引之前使用?

问题描述 投票:0回答:2

我是竞争性编程的初学者。我遇到了一个问题,所以我查看了 我遵循的人代码。

    I didn't understand this following part particularly:


    int i,n,a[1005]={},b;
    vector<int>v;
    cin>>n;
    for(i=0;i<n;i++)
    {
        cin>>b;
        if(!a[b])v.push_back(b);
        a[b]=i+1;
    }


    here,  what does the condition "if(!a[b])" denote? I could not find it on google. 
    Please help me. Thank you
arrays if-statement vector operators
2个回答
0
投票

!
表示
not
运算符。因此,这就是检查变量值的相反值的方法。这是检查元素
a
处的数组
b
是否存在。如果它不存在,则
!a[b]
,然后将
b
推入向量
v
并更新
a[b]
。否则,什么也不做,只更新
a[b]


0
投票

!表示不操作。 假设 a[b] = 5,那么 a[b] 将为 true,输入 !符号表示整个表达式 (!a[b]) 为假。 同样,如果 a[b] = 0,则 a[b] 将为 false,而 (!a[b]) 将为 true。

© www.soinside.com 2019 - 2024. All rights reserved.