經過一番研究,由于K&R的“C編程語言”第1.7章中的例子不是很清楚,我明白return通常出現在每個函式的末尾,標志著它的結束;似乎默認情況下, return 的值是0,這意味著該功能已成功執行(這究竟意味著什么?)。如果我們將 return 的值設定為我們呼叫的變數會發生什么?例如,如果我會寫:
return p;
這是否意味著函式的最終值將是p?因此,例如,如果我從main()或另一個函式呼叫此函式,則此函式的值在內部是否main()為p?
例子:
#include <stdio.h>
int power(int m, int n);
/* test power function */
int main(){
int i;
for(i = 0; i < 10; i)
printf("%d - =", i, power(2,i), power(-3,i));
return 0;
}
int power(int base, int n)
{
int i, p;
p=1;
for(i=1;i<=n; i)
p=p*base;
return p;
}
這是否意味著當我呼叫power()main 時它的值是p?
uj5u.com熱心網友回復:
回傳power的值是 的值p。
函式沒有值;函式回傳一個值。
p不是一個值;p是一個變數。
by 回傳power的值是計算pwhenreturn p的值。因此,如果 的值為 ,p則8回傳的值為8。
上述程式將回傳值傳遞printf給列印。
似乎默認情況下,回傳的值是
0
函式沒有默認回傳值。如果函式的回傳型別不是void,則return必須使用。
main是唯一的例外。return 0是 的默認值main。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/324800.html
上一篇:翻譯單元中具有不同定義的相同結構
下一篇:列印地址功能
