Caso 1:
#include <iostream>
int main()
{
double d = 15.50;
std::cout<<(d/0.0)<<std::endl;
}
Si compila senza avvisi e stampa inf
. OK, C ++ può gestire la divisione per zero, ( guardalo dal vivo ).
Ma,
Caso 2:
#include <iostream>
int main()
{
double d = 15.50;
std::cout<<(d/0)<<std::endl;
}
Il compilatore dà il seguente avviso ( guardalo dal vivo ):
warning: division by zero [-Wdiv-by-zero]
std::cout<<(d/0)<<std::endl;
Perché il compilatore dà un avviso nel secondo caso?
È 0 != 0.0
?
Modificare:
#include <iostream>
int main()
{
if(0 == 0.0)
std::cout<<"Same"<<std::endl;
else
std::cout<<"Not same"<<std::endl;
}
produzione:
Same