日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網(wǎng)站首頁 編程語言 正文

C語言函數(shù)多個返回值方式_C 語言

作者:A三三 ? 更新時間: 2023-06-13 編程語言

函數(shù)返回多個值

在平時項目中,我們會遇到一個函數(shù)要返回多個值的問題。

但是c語言規(guī)定一個函數(shù)只能返回一個值,也就是說我們不能用return一個變量的方式返回多個值。

那該怎么辦呢?

其實很簡單,結構體輕而易舉實現(xiàn)這個功能。

下面附上小小的demo

	#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;
	}

函數(shù)中有多個return?C語言中一個函數(shù)可以有幾個返回值?

在移植wifi的代碼時,遇到了一些與下面類似的函數(shù),這些函數(shù)中有不只一個return,這可是個新鮮的玩意兒:

int func (int b)
{
? ?int a=5;
? ?if (a>b)
? ? ? return a;
? ?else
? ? ? return b;
?
? ?return ?0;
}

原來C/C++ 中,reutrn語句是這樣定義的:

通過在函數(shù)中使用返回語句,返回一個值給函數(shù),同時終止函數(shù)的調用,返回主函數(shù)。(注意:同時終止函數(shù)的調用,也就是說函數(shù)在運行到return時就會終止了。)

格式: ? ?

  • return (表達式);?
  • 或return 表達式;

功能: ? ?

  • (1)計算表達式的值,將表達式的值返回給函數(shù)。?
  • (2)從被調用的函數(shù)返回主調函數(shù)。?

說明:?

  • (1)返回值類型應和函數(shù)類型一致,不一致將返回值自動轉換成函數(shù)類型。?
  • (2)函數(shù)中可以有多條返回語句,這時一般與if語句聯(lián)用,執(zhí)行到哪一條返回語句,哪條返回語句起作用。??
  • (3)函數(shù)中無return語句,執(zhí)行至函數(shù)體結尾時返回,此時將返回一個不確定的值給函數(shù)。?
  • (4)如果只需要從函數(shù)中返回,而不需帶回值,使用不帶表達式的return語句。
  • 此外,有時調用一個函數(shù),需要返回多個參數(shù),這種情況應當如何處理呢?

可以有兩種辦法:一是申請一個全局變量,在函數(shù)調用時對其進行處理,返回主程序時仍然可用;另一種辦法是,返回一個指針,指針指向一個結構體,或者一個數(shù)組,這樣就能返回多個參數(shù)了。

而指向結構體的指針,在很多情況下是很常見的。

總結

原文鏈接:https://blog.csdn.net/m0_43456002/article/details/105667105

  • 上一篇:沒有了
  • 下一篇:沒有了
欄目分類
最近更新