我知道return语句是不必要的,因此可以避免,但出于好奇:这是有效的代码吗?
#include <stdio.h>
void printNumber(int a)
{
printf("Your number is: %d\n", a);
}
void doStuff()
{
const int a = 12;
return printNumber(a); // Is this valid, well-defined code?
}
int main()
{
doStuff();
return 0;
}
使用gcc和g ++ 4.8.4编译没有警告:
gcc -W -Wall -Werror -Wextra voidtest.cxx
g++ -W -Wall -Werror -Wextra voidtest.cxx
它也像人们期望的那样运行。
这个问题被标记为C和C ++,因为我想知道两种语言的答案是否存在差异。