KNKing "" C Программирование - современный подход ", 2-е изд., В разделах 9.2 и 9.3 говорится, что ошибка в C99, но не в C89, вызывать необъявленную функцию.
Однако, если я пытаюсь скомпилировать простую программу, которая делает именно это, используя clang
, то, кажется, не имеет значения, использую ли я --std=c89
или --std=c99
. Либо выводит предупреждение, но компилирует - если я используйте -Werror
, в этом случае либо не удается скомпилировать с ошибкой.
Действительно ли существует разница между C89 и C99 в этом отношении, и если да, что я делаю неправильно?