>>А что бинго? Что нашли? > >компилируй свою программу с -Wall, тебе gcc расскажет всё. ;) Вообще, возьми >это за правило: экономит время до жути. >Если вкратце, на x86 sizeof (float) == 8, а ты в printf'е >кладёшь всего четыре (sizeof (int)) байта нулей, то есть младшие байты >мантиссы флоата. Ну а printf-то об этом ничего не знает, и >берёт из стека все восемь байт. А что там за старшие >байты, предсказать сложно. Видать при определённых обстоятельствах ветвление идёт несколько иначе >(в твоём коде, или в библиотечном), и в результате под твоими >нулями оказывается константа, которую я в коде продемонстрировал. Большое спасибо!!!
|