- 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!
>Кто-нибудь знает причину подобного феномена?
Эксперемент не мой и я знаю причину такого поведения. Так что не плохой вопрос для собеседования к новичкам.
+165
log::write(std::string() + "Opened \"" + filename + "\"");
История не моя, но приложу её к коду:
>Несколько лет назад у нас в проекте была такая строчка кода
Функция log::write() принимала форматную строку и набор аргументов, как printf.
Если имя файла содержит %, возможны неприятности, но такие файлы обычно не встречаются.
Я когда это увидел, очень резко прокоментировал способности и интелектуальный уровень того, кто так написал.
Как же так, если файл называется скажем "%s", программа грохнется с вероятностью близкой к 100%!
Как оказалось, этот кусок кода писала жена начальника.
Морские свинки и программистки, ага.
Кажется она сильно обиделась, меня уволили.
+147
function grabb($str, $start, $end) {
$start = strpos($str, $start) + strlen($start);
$end = strpos($str, $end, $start);
$result = substr($str, $start, $end - $start);
flush();
return $result;
}
Человек, писавший это явно хоть раз произносил фразу "Регулярки ? Нет, не слышал."
+178
#define float double
Так в последнем, полученном мною, для поддержки проекте произвели увеличение точности расчётов.
+164
for(int i(0); i<5; i++)
Мне интересно, кто-нибудь так же пишет?
+158
typedef int IntHack;
const intHack operator+(const intHack, const intHack)
{
Счастливой отладки. ^_^
+161
struct Matrix
{
float c[4][4];
float (&operator[](int idx))[4] {
return c[idx];
}
};
+155
$hour = date('H'); if ($hour>23){$hour=$hour-24;$day++;}
echo "".$hour.":"."$minute."";
Без комментариев...
+123
public override void KeyUp(KeyboardEventArgs e)
{
if(subact.KeyUp(e)) return;
}
public override void KeyDown(KeyboardEventArgs e)
{
if(subact.KeyDown(e)) return;
}
+163
struct TPlaylist
{
bool shuffle;
bool loop;
//...........................................
typedef map<TString, TPlaylist> TPlaylistsdMap;
//............................................
bool StartPlay(const TString& playlistID, int shuffle = false, int loop = false....
{
TPlaylistsdMap::iterator iter = mPlaylists.find(playlistID);
if (iter != mPlaylists.end())
{
if (shuffle != -1) iter->second.shuffle = shuffle;
if (loop != -1) iter->second.loop = loop;
//.............................................
туда-сюда-обратно...