ケース1:
#include <iostream>
int main()
{
double d = 15.50;
std::cout<<(d/0.0)<<std::endl;
}
警告なしでコンパイルして出力しinf
ます。OK、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;
2番目のケースでコンパイラが警告を出すのはなぜですか?
ですか0 != 0.0
?
編集:
#include <iostream>
int main()
{
if(0 == 0.0)
std::cout<<"Same"<<std::endl;
else
std::cout<<"Not same"<<std::endl;
}
出力:
Same