【发布时间】:2012-05-31 01:12:25
【问题描述】:
返回 int 但没有显式返回任何内容的函数的返回值是什么。
例如输出
int fun()
{
printf("\ncrap");
}
void main()
{
printf("\n return value of fun %d", fun());
}
我得到的输出是:
crap
return value of fun 1
这取决于我使用的编译器吗?
谢谢!!!
【问题讨论】:
-
你使用的是哪个编译器?
-
@Tom...我正在使用 gcc 版本 4.6.1
-
答案是 eax 寄存器中的任何内容,我必须添加 __asm { mov eax, eax; } 在函数的末尾,以便让它在 VC++2010 上编译。得到 1 的值很奇怪,因为我原以为它会是 printf("\ncrap") 调用的返回值,本来应该是 5。
标签: c