为什么这个C ++函数返回一个值?

时间:2013-02-10 17:22:05

标签: c++ function for-loop

为什么此代码打印出n-100?

    int hello(int n)
    {
        for(int i = 0; i < n-100; i++)
        {
        }
    }

    int main()
    {
            int h = hello(12);
        cout << hello(12) << " " << h << endl;
    }

然而,这两个函数都返回垃圾(分别为2665092和0)

    int hello1(int n)
    {
          for(int i = 0; i < 12; i++);
    }


    int hello2(int n)
    {
         (n - 100);
    }

我在cygwin环境中使用g ++编译了这段代码。

1 个答案:

答案 0 :(得分:5)

您只是看到未定义行为的结果。

始终使用-Wall -Werror进行编译,以防止此类错误蔓延到您的代码中。