1. c語言中函數調用怎麼返回兩個值
在C語言中,函數只能返回一個值,要返回兩個值,可以改換思路,通過其它方式做到。
1 建立數組,返回指針。
在要返回的兩個值類型相同時,可以用創建數組的方式,將要返回的值存在數組中,並返回數組首地址,這樣就可以實現返回兩個值的效果。
需要注意的是,要返回數組首地址,那麼返回的值不可以是局部變數,有如下幾種是可以的:
a) 使用靜態局部變數存儲,並返回地址;
b) 使用全局變數存儲,返回地址;
c) 函數中動態分配內存,並返回申請到的地址,此種方法需要注意,在使用後需要釋放;
d) 在參數中傳入數組地址,並返回。即返回的實際上是主調函數中的變數地址。
2 建立結構體,返回結構體變數。
將需要返回的值,寫成結構體形式,並返回結構體變數,這樣可以實現一個返回值中含有多組數據。
3 當數據規模較小時,可以採用將小規模數據合並為大規模數據的方式,進行返回。
比如,需要返回兩個char型數據時,可以通過返回一個short數據,高地位分別存儲各自的值。
除以上方法外,還可以不使用返回值的方式,而是通過函數參數傳值,或者全局變數傳值等方式,將要返回的值回傳給主調函數。
2. c語言函數返回值
這個跟庫函數的定義有關。。還有就是編譯器的差異。。
有些編譯器默認是非0為真,有些非-1為真。。
建議不要使用這么簡單粗暴的辦法判斷。。請使用C提供的標准宏判斷。。
在哪裡學的。。呃。。自己寫代碼寫多了自然就知道了
3. c語言函數的返回值是什麼意思
就是函數的運算結果。特別的,對於main函數來說,返回值表示程序的執行狀態。
4. c語言中,函數返回值怎麼用
return後接一個值。
在調用這個函數的函數裡面,調用它的時候希望獲得一個值,如果不希望獲得這個值的時候,用void聲明就好。如果需要,比如說需要得到一個整形值
就聲明
int func()
在調用它的比如main裡面
func()的作用就可以相當於一個int型常數
比如外面定義了
int max(int a,int b)
{
return a>b?a:b;
}
主函數裡面是
main()
{
int A;
A=max(1,2);
}
這時候就是通過max計算 1>2 則return 一個1 ,1<2 則return一個2。很明顯1<2 所以這里max(1,2)就會return 一個 2
這時候主函數里的max(1,2)就相當於一個常數 2
A=max(1,2)的作用就相當於A=2
這個意思。
5. c語言的函數返回值
所謂返回值,就是人們想要知道函數或者程序所得到 的結果而設計的函數或者程序結束時給出一個值。比如:我們編寫一個加法函數,肯定想知道加完過後的結果是什麼,那麼我們就指定這個結果為該加法程序的返回值。
關於返回值的返回:
1、函數調用語句本身代表其返回值:例如:fun(a);那麼「fun(a)」就是這個返回值。
2、可以把返回值存到對應類型的變數之中。例如:int a=fun(b);
3、返回值是多種多樣的,可以是各種各樣的,int short char double 等等,還可以是指針或者結構體。在數據結構的二叉樹部分,某一個函數的返回值是一個帶有兩個指針的結構體。
6. c語言中調用函數如何返回多個值
1、通過使用指針,在函數調用時,傳遞帶有地址的參數,並使用指針更改其值;這樣,修改後的值就會變成原始參數。
7. C語言函數返回類型
1、函數定義為:int
max(int
a,
int
b),這是個函數是獲得a,b兩個整數值較大的那個,在函數的前面有個int值,說明這個函數返回的是一個整數類型,所以他的返回類型為整型,如果a值比較大就會返回a,這個a的值被稱為返回值。
例如:
#include <stdio.h>
int max(int a,int b){
int z;
if(a>b)
z=a;
else
z=b;
return(z);
}void main()
{ int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d \n",c);
} //在主函數中調用函數int max(int a,int b),如果我們輸入1,2,則最後顯示2,2為返回值,而函數int max(int a,int b)中的返回類型為整型。
8. c語言返回值具體是指什麼
子函數的返回值,main主函數也是有返回值的,但是一般用不到都忽略掉了,一般來說的返回值就是子函數的返回值。當需要一個函數去處理數據時,如求平方,這時候求平方後的值可以有兩種方法表達
1、以值的形式返回給你,即return x,這樣就可以利用這個結果了,此時函數名前當然要加返回的數據類型了
2、當不需要對這一結果進一步處理時,直接printf,這樣可以直接在終端上顯示結果了,這時就沒必要去加了,直接VOID
(8)c語言函數返回值擴展閱讀
void:聲明函數無返回值或無參數,聲明無類型指針,顯示丟棄運算結果。(C89標准新增)
如果一個變數聲明時在前面使用 * 號,表明這是個指針型變數。換句話說,該變數存儲一個地址,而 * 則是取內容操作符,意思是取這個內存地址里存儲的內容。指針是 C 語言區別於其他同時代高級語言的主要特徵之一。
指針不僅可以是變數的地址,還可以是數組、數組元素、函數的地址。通過指針作為形式參數可以在函數的調用過程得到一個以上的返回值,不同於return(z)這樣的僅能得到一個返回值。
9. C語言中什麼是函數的返回值
就是調用子函數後(例如int 型),子函數根據實際需要處理後返回給主函數的int型數據.
子函數返回值的類型和和子函數的類型相同.否則程序出錯.
10. c語言中函數的返回值到底是什麼意思,有什麼用
一個函數的函數名既是該函數的代表,也是一個變數。由於函數名變數通常用來把函數的處理結果數據返回給調用函數,即遞歸調用,所以一般把函數名變數稱為返回值,函數的返回值類型是在定義函數時指定的。
函數可以有返回值,也可以沒有返回值。
1、沒有返回值的函數:功能只是完成一個操作,應將返回值類型定義為void,函數體內可沒有return語句。
2、有返回值的函數:函數的最後會有一個返回值return,可以用來獲取該函數執行結果返回給該函數,讓外部調用該函數的。
一個函數的函數名既是該函數的代表,也是一個變數。由於函數名變數通常用來把函數的處理結果數據返回給調用函數,即遞歸調用,所以一般把函數名變數稱為返回值,函數的返回值類型是在定義函數時指定的。
(10)c語言函數返回值擴展閱讀
C程序中的print函數:
是這樣寫的:printf("%d ",printf("%d",printf("%d",i)));
一共有三個printf函數,我們可以使用一些代號來簡化這個printf函數,如下:
代號A: printf("%d",printf("%d",i));
代號B: printf("%d",i)
則C程序代碼可以簡化為:printf("%d ",A); 那麼我們就先來求A。而A,又可以簡化為:printf("%d",B);那麼就先來求B。
B是 printf("%d",i),列印出「123」,即在C語言運行結果中,你最先看到的是123。C語言printf函數的返回值是printf實際控制輸出的字元數,那麼列印的123 就是3個字元,因此printf("%d",i)返回的就是3,也就是B是3。
那麼,A就可以寫為printf("%d",printf("%d",3));列印出3,即在運行結果中,你緊接著會看到3。
而列印出的3是1個字元,因此A就是1,那麼printf("%d ",A); 實際上就是printf("%d ",1); 列印出1。