#include <stdio.h>
int x=3;
int main()
{
int x=4;
printf("%d",x);
return 0;
}
私たちが知っているように、ローカル宣言はグローバル宣言としても機能します。 x
は既に3としてグローバルに宣言されているため、新しい宣言(非暫定)は、ローカル宣言の場合に複数の非仮定義の「マージ」が行われないため、再宣言エラーを引き起こしませんか?なぜこのコードに再宣言エラーはありませんか?
再コンパイルエラーがないためです。 –
私たちは誰ですか?地元の宣言がグローバルな宣言のように機能することを知っている理由は何ですか? –