我正在阅读The C Programming Language
,第一个程序是打印Hello World
我编写的代码如下所示:
#include <stdio.h>
main()
{
printf("hello, world\n");
}
但是我收到了错误warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
main()
。我通过编写如下代码来修复它:
#include <stdio.h>
int main()
{
printf("hello, world\n");
}
任何人都可以告诉我有什么区别,我为什么要这样写呢?
答案 0 :(得分:0)
旧版本的C具有默认类型的概念。如果声明的变量没有类型,则假定为int
。与函数类似,如果定义的函数没有返回类型,则还假定它返回int
。
更新版本的C(即不到25年的版本)取消了默认类型,并在这种情况下输出警告。最好明确指定类型以避免歧义,并与更现代的C保持一致。