1
为什么此代码打印出n-100?为什么这个C++函数返回一个值?
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 ++编译该代码。
*“为什么这个代码打印n-100?”*它不,我得到'1 1'。 :) – jrok 2013-02-10 17:26:44
返回值应该存储在某个地方,如寄存器中。如果您不设置返回值,那么该寄存器可能包含其他内容,如您最近使用的值。 – 2013-02-10 17:31:45
@BoPersson啊谢谢你,这使得很多意义。 – 2013-02-10 17:43:56