Trường hợp 1:
#include <iostream>
int main()
{
double d = 15.50;
std::cout<<(d/0.0)<<std::endl;
}
Nó biên dịch mà không có bất kỳ cảnh báo và bản in nào inf
. OK, C ++ có thể xử lý phép chia cho 0, ( xem trực tiếp ).
Nhưng,
Trường hợp 2:
#include <iostream>
int main()
{
double d = 15.50;
std::cout<<(d/0)<<std::endl;
}
Trình biên dịch đưa ra cảnh báo sau ( xem trực tiếp ):
warning: division by zero [-Wdiv-by-zero]
std::cout<<(d/0)<<std::endl;
Tại sao trình biên dịch đưa ra cảnh báo trong trường hợp thứ hai?
Là 0 != 0.0
?
Biên tập:
#include <iostream>
int main()
{
if(0 == 0.0)
std::cout<<"Same"<<std::endl;
else
std::cout<<"Not same"<<std::endl;
}
đầu ra:
Same