-
30-09-2019 - |
题
是否调用以下程序 Undefined Behaviour
在C?
int main()
{
printf("Printf asking: Where is my declaration ?");
}
在上面的程序中,有一个隐含的声明 printf()
, ,因此上述代码是否完全符合标准标准,或者只是具有某些特定实现的行为?
解决方案
是的,它确实。在范围内没有声明是UB。
J.2不确定的行为
- 在函数范围中无函数原型的函数,该函数用函数原型定义了函数,因此原型以椭圆形结尾,或促销后的参数类型与参数类型不兼容(6.5.2.2.2 )。
另外,请注意,在C99中可以脱落Main(即语义上等同于A return 0;
)。对于Pre-C99兼容编译器,您需要一个返回语句 主函数的返回类型是与 int
.
不隶属于 StackOverflow