2017-01-10 122 views
-23

據我所知,返回類型:爲炭返回類型/ INT

int function() 

需要我返回一個整數int如:

return 0; 

但從一個例子,我所看到的,函數返回一個整型並返回一個字符:

return a; 

如下:

int inputValue() 
{ 
    std::cout << "input value please."; 
    int a; 
    std::cin >> a; 
    return a; 
} 

這是因爲返回變量被初始化爲一個整數?

+12

你顯示的代碼中有一個'char'。舉個例子,我不知道你在說什麼。爲什麼又一次令人驚訝的是,返回類型爲「int」的函數可以返回類型爲「int」的值? –

+0

'a'是一個'int'。該函數返回一個'int'。如果您將其名稱更改爲'aaaaa',您是否仍然認爲'a'是'char'? – Galik

+3

@python_starter是什麼讓你覺得一個角色被退回?看來你應該閱讀一個C++教程或書籍。 – Biffen

回答

5

這是因爲返回變量被初始化爲一個整數?

是的。這是因爲返回的變量是數據類型爲整數的變量。


int function() 

返回類型不要求你返回一個確切的整數。這只是表示只要它是int或精確整數(例如return 0)就必須返回任何變量。

下面

int inputValue() 
{ 
    std::cout << "input value please."; 
    int a; 
    std::cin >> a; 
    return a; 
} 

作品的代碼,因爲a是整型變量(一個int)。由於我們的退貨類型爲int,因此我們可以返回a。但是,它將返回a的值,而不是字符「a」本身。

確實會注意到,a初始化而是宣佈,由克雷格·楊指出。

+1

也許一個小的我建議在你的回答中指出'a'完全不是_initialised_,但它被聲明爲一個整數。 –