- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
int main()
{
unsigned long l = 0xffc00000;
float f1,f2;
memcpy(&f1,&l,4);
memcpy(&f2,&l,4);
if(f1!=f2)printf("OH, SHI~!\n");
if(f1!=f1)printf("Facepalm!\n");
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+152
int main()
{
unsigned long l = 0xffc00000;
float f1,f2;
memcpy(&f1,&l,4);
memcpy(&f2,&l,4);
if(f1!=f2)printf("OH, SHI~!\n");
if(f1!=f1)printf("Facepalm!\n");
}
>Давно хотел провести эксперимент, вот только сейчас руки дошли.
Лог программы:
OH, SHI~!
Facepalm!
>Кто-нибудь знает причину подобного феномена?
Эксперемент не мой и я знаю причину такого поведения. Так что не плохой вопрос для собеседования к новичкам.
У всех настоящих программистов есть IDE и дебагер.
NaN?
>OH, SHI~!
>Facepalm!
совершенно неуместное использование сленга.
мозги_съедены_двачемлурком.жпег