情况1:
#include <iostream>
int main()
{
double d = 15.50;
std::cout<<(d/0.0)<<std::endl;
}
它在编译时没有任何警告和打印inf
。好的,C ++可以处理零除(实时查看)。
但,
情况2:
#include <iostream>
int main()
{
double d = 15.50;
std::cout<<(d/0)<<std::endl;
}
编译器发出以下警告(实时查看):
warning: division by zero [-Wdiv-by-zero]
std::cout<<(d/0)<<std::endl;
为什么在第二种情况下编译器会发出警告?
是0 != 0.0
吗
编辑:
#include <iostream>
int main()
{
if(0 == 0.0)
std::cout<<"Same"<<std::endl;
else
std::cout<<"Not same"<<std::endl;
}
输出:
Same