在这个c
节目 中
a=8;
main()
{
printf("%d", a);
}
变量 a 已被声明为没有任何数据类型,但该程序仍然成功编译并提供所需的输出。
输出 ::
8
在ideone上看到。
但是,当我在 main 中声明相同的变量时,它会给出编译错误。
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’
看这里。
第一个程序如何工作,但第二个?