我对以下函数的行为感到困惑。以下是我坚持的一些程序:
情况1:
void f()
{
printf("wow\t");
}
int main()
{
f();
return 0;
}
它给出了预期的输出wow
。
案例二:
void f()
{
printf("wow\t");
}
int main()
{
f(f());
return 0;
}
它给出了error: invalid use of void expression
显而易见的。
案例3:
int f()
{
printf("wow\t");
}
int main()
{
f(f());
return 0;
}
为什么它给出输出wow wow
?
f()
有返回类型int
。但在main
它不存储在任何变量中。也f()
没有采用任何参数,但在案例 3 中,它将采用f()
.
相同的代码在 C++ 中不起作用。