我认为这只会返回一个整数。我需要注意什么其他情况吗?C/C++之间有什么区别吗?
float a = 2.5;
!a; // What does this return? Int? Float?
我认为这只会返回一个整数。我需要注意什么其他情况吗?C/C++之间有什么区别吗?
float a = 2.5;
!a; // What does this return? Int? Float?
!
运算符的结果总是一个 int
类型。 - caf<!-- language: lang-ml -->
来强制语法突出显示,但也有<!-- language: lang-f#-->
,那么为什么不使用它呢? - Cetin Sert从这里
如果一个float正好是0.0f,则转换为false,
如果不是0.0f,则也为true!
无穷大也将被转换为true。
看看自己:
#include <iostream>
int main()
{
float a = 2.5;
if ( !a )
std::cout << !a << "\n";
else
std::cout << !a << "\n";
}
if
/else
代码块的两个分支执行的操作完全相同,因此可以考虑不使用 if
/else
语句。 - dreamlax