私は(すぐに)いくつかのコードを書いていて、誤って引数を反転させていましたscanf()
:
char i[] = "ABC1\t";
scanf(i, "%s");
でコンパイルするとgcc -Werror -Wall -Wextra
、これについて少し文句はありません。明らかに、このコードは機能しませんが、引数を反転したことを gcc が通知しなかったのはなぜですか? i
フォーマット文字列ではないこと、または 2 番目の引数が格納可能な型ではないことを検出できませんか?
EDIT
すべての洞察に感謝します。答えを見つけたようです。-Wformat
これを「キャッチ可能」にするフラグにひねりがありました(参照用に以下に投稿)