กรณีที่ 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