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