從函式中返回值

2021-10-03 04:47:30 字數 1187 閱讀 6560

1.從函式中返回值

如果你的函式要返回乙個結果,那麼你就需要用return把那個結果交給呼叫它的地方

例一://素數求和

int

isprime

(int i)

//idprime有乙個返回的型別,是int型別,這個isprime會返回乙個int的結果

//所以要安排乙個return語句,讓它去返回乙個int

}return ret;

}

例二:

int max(int a,int b)

else

return ret;

}return語句做兩件事,第一件,一旦遇到return, 停止函式的執行,不再向下進行,如果return後面有值,要送回去乙個值

所以return有兩種寫法:

return;

return 表示式;,它要把表示式的值交給呼叫這個函式的地方

int

max(

int a,

int b)

else

return ret;

}int

main()

2.乙個函式裡面可以出現多個return語句,而且這些return也不一定要放在最後

這樣做沒有錯,但不符合單一出口的理念,

不好在於,這樣的函式有很多條語句可以用來離開,有很多條語句可以用來傳遞值到外面,

將來如果想要對這些出口做修改,就要修改很多地方

int

max(

int a,

int b)

else

}int

main()

3.沒有返回值的函式

void 函式名(參數列) void表明這個函式不返回任何的結果

不能使用帶值的return

可以沒有return,因為當函式執行到它的最後一行,結束的大括號}以後,它自己就會回去

呼叫的時候不能做返回值的賦值,因為它不返回值嘛,所以你就不能把它的值交給別的什麼變數或者參與什麼運算

注意:如果函式有返回值,則必須使用帶值的return

void sum(int begin,int end)

printf("%d到%d的和是%d\n",begin,end,sum);

}

函式返回值

這裡接著探求被調函式的返回值是如何傳遞到主調函式中的,下面為c程式。add函式通過直接返回a b的,而add1函式先定義乙個區域性變數c,儲存a b的值,然後再返回c的值。其中a b可以當成乙個臨時變數,其結果是暫時存放在暫存器中的 eax 參照反匯程式設計序,可以看出函式的值並不是通過壓棧 基址定...

函式返回值

一般說來,函式中是可以進行區域性變數的返回的,不然豈不是全部要用全域性變數,如果使用了全域性變數,那還有必要進行返回嗎?那函式就沒有它存在的意義了!但是要注意了,這裡所謂的區域性變數的返回很有內涵,什麼樣的值才可以進行返回而不出錯?其實,只要遵守一句話即可 函式不能返回指向棧記憶體的指標!為什麼?因...

函式返回值

現實生活中的場景 我給兒子10塊錢,讓他給我買包菸。這個例子中,10塊錢是我給兒子的,就相當於呼叫函式時傳遞到引數,讓兒子買菸這個事情最終的目標是,讓他把煙給你帶回來然後給你對麼,此時煙就是返回值 開發中的場景 定義了乙個函式,完成了獲取室內溫度,想一想是不是應該把這個結果給呼叫者,只有呼叫者擁有了...