1

可能重复:
函数返回值而没有返回语句

返回 int 但没有显式返回任何内容的函数的返回值是多少。

例如输出

    int fun()
    {
            printf("\ncrap");
    }


    void main()
    {
            printf("\n return value of fun %d", fun());
    }

我得到的输出是:

  crap
  return value of fun 1

这是否取决于我正在使用的编译器?

谢谢 !!!

4

3 回答 3

2

fun() 函数中没有返回值,因此返回的值是未定义的。

于 2012-05-31T01:14:30.603 回答
1

它可能会返回 EAX 寄存器中的任何内容,如果没有明确的返回值,这可能是不可靠的:

https://stackoverflow.com/a/4644913/375399

于 2012-05-31T01:16:16.700 回答
-1

这取决于编译器。这是我的输出,供您参考

编译器:i686-apple-darwin11-llvm-gcc-4.2

crap
return value of fun 0
于 2012-05-31T01:20:52.793 回答