【发布时间】:2014-06-10 17:47:40
【问题描述】:
我尝试编写一个带有返回类型的 void 函数,但由于某种原因它可以正常工作。 这是我尝试编译的一些代码:
void a(){
return b();
}
void b()
{
printf("%s","void:)");
}
而且接下来的代码也能正常工作:
int main()
{
a();
return 0;
}
void a(){
return 5;
}
根据标准,以上哪项是正确的?
二、为什么会编译?
【问题讨论】:
-
确保以最大数量的警告和严格性进行编译。
-
我怀疑第二个有效。
-
仅仅因为你可以通过编译器挤压它并不意味着它是正确的。