Код: Выделить всё
#pragma warning(default:4716)
int recur(int i)
{
int result;
result = (i>1 ? i - recur(i/2) : 3);
// return intentionally omitted
}
int main()
{
return recur(0);
}
Код: Выделить всё
316: int main()
317: {
00403940 push ecx
318: return recur(0);
00403941 mov eax,dword ptr [esp]
319: }
00403944 pop ecx
00403945 ret
Как компилятору удается генерировать совершенно бессмысленный код?
Подробнее здесь: https://stackoverflow.com/questions/144 ... tless-code
Мобильная версия