您好,登錄后才能下訂單哦!
這篇文章主要介紹“C語言函數怎么返回多個值”,在日常操作中,相信很多人在C語言函數怎么返回多個值問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C語言函數怎么返回多個值”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
在平時項目中,我們會遇到一個函數要返回多個值的問題。
但是c語言規定一個函數只能返回一個值,也就是說我們不能用return
一個變量的方式返回多個值。
那該怎么辦呢?
其實很簡單,結構體輕而易舉實現這個功能。
#include<stdio.h> typedef struct more{//結構體 int one; int two; }more; more re() { more m = {1,2}; return m; } int main() { more m = re(); printf("%d %d",m.one,m.two); return 0; }
在移植wifi的代碼時,遇到了一些與下面類似的函數,這些函數中有不只一個return,這可是個新鮮的玩意兒:
int func (int b) { int a=5; if (a>b) return a; else return b; return 0; }
原來C/C++ 中,reutrn語句是這樣定義的:
通過在函數中使用返回語句,返回一個值給函數,同時終止函數的調用,返回主函數。(注意:同時終止函數的調用,也就是說函數在運行到return時就會終止了。)
格式:
return (表達式);
或return 表達式;
功能:
(1)計算表達式的值,將表達式的值返回給函數。
(2)從被調用的函數返回主調函數。
說明:
(1)返回值類型應和函數類型一致,不一致將返回值自動轉換成函數類型。
(2)函數中可以有多條返回語句,這時一般與if語句聯用,執行到哪一條返回語句,哪條返回語句起作用。
(3)函數中無return語句,執行至函數體結尾時返回,此時將返回一個不確定的值給函數。
(4)如果只需要從函數中返回,而不需帶回值,使用不帶表達式的return語句。
此外,有時調用一個函數,需要返回多個參數,這種情況應當如何處理呢?
可以有兩種辦法:一是申請一個全局變量,在函數調用時對其進行處理,返回主程序時仍然可用;另一種辦法是,返回一個指針,指針指向一個結構體,或者一個數組,這樣就能返回多個參數了。
而指向結構體的指針,在很多情況下是很常見的。
到此,關于“C語言函數怎么返回多個值”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。