【发布时间】:2017-12-04 06:53:34
【问题描述】:
在下面的程序中,为什么编译器没有给出任何错误或警告?
cc -Wall -pedantic my_program.c
代码在这里:
#include <stdio.h>
void f()
{
return; // return statement in void function
}
int main()
{
f();
return 0;
}
我已经在Linux平台的GCC编译器中编译了程序。
【问题讨论】:
-
因为它完全合法?你可以查一下。
-
因为从
void函数到return完全没问题。您预计会出现什么错误/警告? -
请不要以显而易见的理由投反对票,因为这是主观的。 OP仔细写了这个问题,代码sn-p。
-
@Bathsheba 以同样的方式,他可以问为什么
int a = 22 / 7;不会产生警告。 -
你应该读一本 C 书。