我复制了一个以.开头的例子
main(t){
因此,当使用gcc -pedantic进行编译时,我至少期望有关
- 缺少主要的返回类型(那个来了)
- 缺少't'的类型 - 什么都没有,既没有-Wall也没有-pedantic.
这有点慷慨的gcc还是标准中有默认类型?到目前为止找不到任何东西.
谢谢!
该标准没有规定main具有1个参数的函数 - 它需要两个形式,一个用0,一个用2.实现允许其他形式.
所以,GCC正在做一些依赖于实现的东西来允许这个,即使你已经指定了类型.
C89允许没有声明类型的参数,默认为int.这同样适用于变量和没有声明返回类型的函数(它们返回int).C99不允许任何默认int类型(并且GCC对其进行诊断-pedantic -std=c99).