このc
プログラムで は
a=8;
main()
{
printf("%d", a);
}
変数 a はデータ型なしで宣言されていますが、それでもこのプログラムは正常にコンパイルされ、目的の出力が得られます。
出力::
8
ideoneでそれを参照してください。
しかし、メイン内で同じ変数を宣言すると、コンパイルエラーが発生します。
main()
{
a=8;
printf("%d", a);
}
出力::
prog.c:2: warning: return type defaults to ‘int’
prog.c: In function ‘main’:
prog.c:3: error: ‘a’ undeclared (first use in this function)
prog.c:3: error: (Each undeclared identifier is reported only once
prog.c:3: error: for each function it appears in.)
prog.c:4: warning: implicit declaration of function ‘printf’
prog.c:4: warning: incompatible implicit declaration of built-in function ‘printf’
ここを参照してください。
最初のプログラムはどのように機能していますか?