История изменений
Исправление MOPKOBKA, (текущая версия) :
Верхний пример с циклом мне показалось что про бесконечную рекурсию, ее и бесконечный цикл компилятор отлавливает, изменение переменной без эффекта тоже, но твой верхний пример он не отловит. Если хорошо подумать, то функций намного больше чем переменных, надо о них думать, о модулях тогда. В идеале локальные функции как в Pascal нужны, потому что модуль может быть большим. А локальные функции как локальные переменные, могут быть разбиты по сколь угодно малым частям.
А вот нижний пример с used after free ловится и обычным Wall, хотя непонятно твое сопротивление fanalyzer.
Исправление MOPKOBKA, :
Верхний пример с циклом мне показалось что про бесконечную рекурсию, ее и бесконечный цикл компилятор отлавливает, изменение переменной без эффекта тоже, но твой верхний пример он не отловит. Если хорошо подумать, то функций намного больше чем переменных, надо о них думать, о модулях тогда. В идеале локальные функции как в Pascal нужны.
А вот нижний пример с used after free ловится и обычным Wall, хотя непонятно твое сопротивление fanalyzer.
Исходная версия MOPKOBKA, :
Верхний пример с циклом мне показалось что про бесконечную рекурсию, ее и бесконечный цикл компилятор отлавливает, изменение переменной без эффекта тоже, но твой верхний пример он не отловит. Если хорошо подумать, то функций намного больше чем переменных, надо о них думать, о модулях тогда.
А вот нижний пример с used after free ловится и обычным Wall, хотя непонятно твое сопротивление fanalyzer.