“!”有什么作用? r+=!(n%100) 中的运算符?在 C++

问题描述 投票:0回答:1
int do_it(int n){
int r = 0;
   while(n) {
   r += !(n%100);
   n /= 10;
   }
return r;
}

我不明白什么是“!”运营商在那里做。当使用类似 2021 的值调用时,此函数将有什么输出。 有人能帮我理解什么是“!”吗?在这种情况下会做什么?

c++ function operators
1个回答
2
投票

这里

!
和其他地方一样,逻辑否定。请参阅https://en.cppreference.com/w/cpp/language/operator_logical
int
可以转换为
bool
0
转换为false,其他所有值都是
true
.

要查看

2021
的输出,您可以编写一个
main
,调用函数
do_it(2021)
,并将结果打印到控制台。如果您想跟踪每个步骤,您可以使用调试器。

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