사례 1 :
#include <iostream>
int main()
{
double d = 15.50;
std::cout<<(d/0.0)<<std::endl;
}
경고없이 컴파일되고 인쇄 inf
됩니다. 좋아요, C ++는 0으로 나누기를 처리 할 수 있습니다 ( 라이브 참조 ).
그러나,
사례 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