LINUX.ORG.RU

История изменений

Исправление firkax, (текущая версия) :

Там хуже - он выкинул даже return; и этим устроил багоповедение на уровне ассемблера.

без явной инициализации в переменной скорее всего будет ноль.

Ну нет, не совсем так. В переменной может быть ноль, и поскольку нет причин выбрать другое (переменная ни разу не используется в качестве lvalue и никому снаружи, где её мог бы взять как lvalue кто-то другой, недоступна), то мапим её на абстрактный ноль для определённости.

А если бы она была в оперативной памяти, то тут скорее всего тоже был бы ноль, но только потому что это main и эту часть стека ещё скорее всего не использовали. Но в общем случае - совсем не факт.

Исправление firkax, :

Там хуже - он выкинул даже return;

без явной инициализации в переменной скорее всего будет ноль.

Ну нет, не совсем так. В переменной может быть ноль, и поскольку нет причин выбрать другое (переменная ни разу не используется в качестве lvalue и никому снаружи, где её мог бы взять как lvalue кто-то другой, недоступна), то мапим её на абстрактный ноль для определённости.

А если бы она была в оперативной памяти, то тут скорее всего тоже был бы ноль, но только потому что это main и эту часть стека ещё скорее всего не использовали. Но в общем случае - совсем не факт.

Исправление firkax, :

Там хуже - он выкинул даже return;

без явной инициализации в переменной скорее всего будет ноль.

Ну нет, не совсем так. В переменной может быть ноль, и поскольку нет причин выбрать другое (переменная ни разу не используется в качестве lvalue и никому снаружи, где её мог бы взять как lvalue кто-то другой, недоступна), то мапим её на ноль для определённости.

Исходная версия firkax, :

Там хуже - он выкинул даже return;