return和printf的區別

2022-01-19 20:38:23 字數 1055 閱讀 2965

'printf("我是乙個字串");'
#includeint main(void)

int max(int x,int y)

#includeint main(void)

int max(int x,int y)

我們會發現列印出來是100,為什麼呢?這是因為a = max(1,2);這個語句實際上包含了兩個步驟:

為max()函式傳入引數1和,2,在max引數中進行一系列的處理,按照我們對max函式的理解,我們應該得到乙個較大的值的,但是現在卻得到了100,這是因為這個函式返回的值是用return語句執行的,而我們返回了100這個數,自然就得到了100這個結果了.如果我們要返回正確的值,我們應該返回max,即return max才行.通常返回值的型別在定義函式的時候需要在函式頭說明.入這裡的int max前面的int就是返回值型別.

得到這個返回值之後,然後將這個返回值賦值給a.如果我們沒有使用返回值,而編譯器又沒有預設返回乙個值,那麼我們就是將乙個函式直接賦值給變數a,而不是乙個值,通常這都會報錯.這個返回值一般是用函式頭加實參組成.如此處的max(1,2)就是乙個返回值.這個返回值實際就是乙個數,因此我們可以把它作為數值計算,如max(1,2) * 1,或者作為另乙個函式的傳入引數,如sqrt(max(1,2)),通常我們會遇到乙個報錯,說把函式作為乙個引數傳入,那麼很可能就是因為我們沒有為這個函式傳入引數,而又沒有使用函式指標,不能將函式作為引數傳入

#includeint main(void)

實際上我跑一下就會發現我們a是有值的,如果我們多試幾次,就會發現返回值其實是字串的長度,實際上,如果printf跑出問題了,返回值會是乙個負數.這在實際的應用中是有一些應用價值的.

Oracle 中Return 和exit的區別

在oracle儲存過程中,使用return 時,如果執行到return語句,會跳出整個語句 如果是迴圈,會跳出整個迴圈 將不再執行,也就是結束了整個儲存過程。create or replace procedure pro emp1 v eno in number,v resultcode out n...

python中return與pass的區別

作為python初學者,我剛開始分不清return與pass的區別,把pass的功能誤用為return的功能,在這裡記錄一下。在函式中使用if 條件 return代表跳出當前函式,而if 條件 pass 則是表示什麼也不做,但繼續執行當前函式的下面的語句,pass就相當於空白的語句塊。比如我在構建乙...

return 0和return的區別

return語句有以下形式 return 不帶返回值的return語句 return 0 帶返回值的return語句,或者返回乙個變數或乙個函式。return 1 表示函式異常結束 不帶返回值的return語句用於,中斷返回值為void型別的函式的執行,而帶返回值的return則不行。include...