C C 自定義函式 返回值

2021-09-16 14:28:32 字數 1248 閱讀 7210

根據返回值型別來定義為int,並且在子函式結尾一定要寫上return result(需要返回的值)

int main中需要定義乙個新的變數去接收子函式返回的值

全域性變數的生命期是永恆的,如果返回乙個區域性變數的位址會出現問題(變數在子函式中或者在if語句後出現都會隨著程式的執行時變數失效)

#include int* get()

int main()

用法錯誤 ,因為get()函式返回的是乙個區域性變數的位址,當get()獲取區域性變數的位址返回後,區域性變數num的生命週期結束,從而使指標p指向了乙個無效的變數。正確程式如下,應該把num定義為全域性變數

#include int num=1;

int* get()

int main()

再如

int main()

//a生命期結束

printf("%d\n",*p);

return 0;

}

// 判斷a,b,c組成的三角形是否為直角三角形

bool check(int a, int b, int c)

return false;

}

void test()

}

#include #include void test(int a)

int main()

test(a)意思是把a的值傳給函式,而不是說把a這個變數傳給函式 ,通過編譯器執行結果如下:

無論 test () 函式裡面如何操作,對main()函式裡的 a 沒有影響,所以 a 值仍為 10
#include #include void test(int* a)

int main()

傳入變數位址(形參為乙個int型變數位址),輸出位址中的值a

在 test() 裡,*a 的值變為100

所以最終輸出的值為100

但是這個返回值可以是乙個結構體或者是乙個類,而結構體和類中可以容納很多資訊. 

或者你也可以參考函式引數的方式來實現返回你所需要的資訊,可以是多個.

shell中的自定義函式,返回值

直接看截圖和 吧,一目了然!如下語句會報錯,因為在呼叫test1函式之前要先宣告test1函式 也就是說,函式的呼叫語句要放在函式的宣告的後面 呼叫函式語句的位置要放在函式宣告語句的位置的後面 test1 20 30 function test1 test1 50 70 將命令的結果賦給變數tota...

第八講 python自定義函式返回值

注意自定義函式 統一檔案內函式名稱不能相同。單返回值 語法結構 def function name para1,para2.code.code.return value 可以返回乙個值 eg def test c n1,n2 函式定義 n n1 n2 return n sum1 test c 100...

C C 函式返回值問題

函式返回值問題 在c c 中 內建型別 char short int long float double 結構體型別 聯合體型別union 列舉型別enum 函式返回值分為三種情況 1.函式返回值小於等於4位元組時,返回值由eax暫存器帶回。2.函式返回值大於4位元組小於等於時,返回值是由eax和e...