8
Cでの変数宣言の配置
Cでは、すべての変数を関数の先頭で宣言する必要があるとずっと思っていました。C99でのルールはC ++と同じであることは知っていますが、C89 / ANSI Cの変数宣言の配置ルールは何ですか? 次のコードはgcc -std=c89andで正常にコンパイルされますgcc -ansi。 #include <stdio.h> int main() { int i; for (i = 0; i < 10; i++) { char c = (i % 95) + 32; printf("%i: %c\n", i, c); char *s; s = "some string"; puts(s); } return 0; } の宣言cとsC89 / ANSIモードでのエラーの原因になるべきではありませんか?
129
c
declaration
c89