這裏我寫了一些代碼來從函數中獲取數字的平方,但是return語句並沒有按照我的要求工作,它給了我輸入的相同數字,我想知道背後的原因,如果任何人可以向我解釋...關於函數的返回類型
#include<iostream>
#include<conio.h>
using namespace std;
int square(int &i);
int main()
{
cout<<"enter the number whose square you want to find";
int a;
cin>>a;
square(a);
cout<<"the square of the number is"<<a;
_getch();
return 0;
}
int square(int &i)
{
return i*i;
}
:i我使用引用,因此沒有必要這樣做,因爲我沒有傳遞任何參數的副本,我正在傳遞參數本身,請再次檢查它:... S – nobalG
@Alfred:'return'不做你認爲它的事情。無論「i」是否爲參考,它的工作原理都是一樣的。如果你想從你的函數中改變'i',你必須指定它。如果你想獲得'return'返回的值,你必須使用函數的結果('i'不是返回的值)。 –
當你想使用引用,那麼你可以使用我給的第二個變體。請注意,在這種情況下返回類型是不必要的,所以你的函數可以返回void,並且你不會在函數中返回'; return i;'。 – Nobody