c語言獲取函數返回值
① c語言函數返回值什麼意思
返回值的意思是將函數實現的結果返回給調用者。
按標准來說,C的main函數是需要有返回值的。標准中main函數返回類型是int的,所以需要一個返回值。但是由於歷史原因,很多地方可以看到沒有返回值的main。
比如直接main()或者說void main() 但是這樣一般編譯器也不會認為錯誤,不過建議還是寫標準的C的main函數,最好有一個返回值,0表示正常退出。
(1)c語言獲取函數返回值擴展閱讀:
常用庫函數有:
scanf格式輸入函數
printf格式輸出函數
systemdos命令函數
sort排序
main主函數
fgets文件讀取字元串函數
fputs文件寫入字元串函數
② C語言中返回值
首先,C語言中的函數有兩種形式:1)有返回值,2)無返回值。有返回值的函數會把執行的結果(也就是你寫這個函數的目的)返回到主函數中。沒有返回值的函數主要是為了完成某種任務(其實這是廢話,函數的功能就是為了完成某種任務。)而一般沒有任何值返回到主函數中(也可以通過在無返回值的函數中操作全局變數來改變主函數中的變數的值)。函數聲明的方式是:
Type FunctionName(type argument1,type argument2....type argumentn)
{
//函數體
}
type 可以為任意的C語言中的數據類型。也可以為VOID(即無返回值)。
其次,main函數的前面可以為int也可以為void.因為main函數也是函數(廢話)。當這個函數執行完畢之後會返回給系統一個值,0表示正確(常)執行。如果你寫void的話,編譯調試的時候,編譯器會自動像系統返回一個值。
第三,在寫C++程序的時候一般寫:
int main()
{
....
....
return 0;
}
③ C語言 函數返回值是什麼
函數的值(或稱函數返回值)是指函數被調用之後,執行函數體中的程序段所取得的值,可以通過return語句返回。
return語句的一般形式為:
return 表達式;
或者:
return (表達式);
例如:
return max;
return a+b;
return (100+200);
函數中可以有多個 return 語句,但每次調用只能有一個return 語句被執行,所以只有一個返回值。
一旦遇到 return 語句,不管後面有沒有代碼,函數立即運行結束,將值返回。例如:
int func(){
int a=100, b=200, c;
return a+b;
return a*b;
return b/a;
}
返回值始終 a+b 的值,也就是300。
沒有返回值的函數為空類型,用void進行說明。例如:
void func(){
printf("Hello world!\n");
}
一旦函數的返回值類型被定義為 void,就不能再接收它的值了。例如,下面的語句是錯誤的:
int a = func();
為了使程序有良好的可讀性並減少出錯, 凡不要求返回值的函數都應定義為空類型。
④ c語言返回值具體是指什麼
子函數的返回值,main主函數也是有返回值的,但是一般用不到都忽略掉了,一般來說的返回值就是子函數的返回值。當需要一個函數去處理數據時,如求平方,這時候求平方後的值可以有兩種方法表達
1、以值的形式返回給你,即return x,這樣就可以利用這個結果了,此時函數名前當然要加返回的數據類型了
2、當不需要對這一結果進一步處理時,直接printf,這樣可以直接在終端上顯示結果了,這時就沒必要去加了,直接VOID
(4)c語言獲取函數返回值擴展閱讀
void:聲明函數無返回值或無參數,聲明無類型指針,顯示丟棄運算結果。(C89標准新增)
如果一個變數聲明時在前面使用 * 號,表明這是個指針型變數。換句話說,該變數存儲一個地址,而 * 則是取內容操作符,意思是取這個內存地址里存儲的內容。指針是 C 語言區別於其他同時代高級語言的主要特徵之一。
指針不僅可以是變數的地址,還可以是數組、數組元素、函數的地址。通過指針作為形式參數可以在函數的調用過程得到一個以上的返回值,不同於return(z)這樣的僅能得到一個返回值。
⑤ C語言如何返回值
首先說明一下你的程序的問題與缺陷:
1: return語句 只能返回一個值,而不能寫成 「return h,l;」
2:你在main()中定義了h,l,而在調用cal()時,又定義了h,l,這兩個h,l是完全不同的兩組。即使你為cal()里的h,l賦值,那麼返回到main()時,h,l仍然為0.
3:你在cal()里的scanf寫的不好。兩個%d之間最好什麼都沒有,加了逗號,可能會在讀取時,h,l賦值錯誤。(具體請看我下面的程序)
下面是我的解法:
先問一下,你用的是TC2.0還是VC6.0?
如果是VC6.0,那麼可以使用引用類型:
/*法一:使用引用*/
#include<stdio.h>
voidcal(int&ch,int&cl);/*聲明ch,cl為引用類型*/
voidmain()
{
inth=0,l=0;
cal(h,l);/*這里將h,l傳入cal()*/
printf("%d,%d",h,l);
}
voidcal(int&ch,int&cl)
{
scanf("%d%d",&ch,&cl);/*這里為ch,cl賦值*/
}
TC2.0中好像不支持引用類型。我沒測試。
-------------------------
如果是TC2.0,那麼可以使用指針:
/*法二:使用指針*/
#include<stdio.h>
voidcal(int*ph,int*pl);/*這里將ph,pl聲明為指針*/
voidmain()
{
inth=0,l=0;
cal(&h,&l);/*將變數h,l地址傳過去。*/
printf("%d,%d",h,l);
}
voidcal(int*ph,int*pl)
{
scanf("%d%d",ph,pl);/*為ph,pl賦值*/
}
------------------
以上兩種方法都可以解決你說的問題。
有問題請追問。
⑥ c語言main函數調用子函數後,怎麼獲取子函數的返回值/數組
獲取子函數的返回值/數組如下:
⑦ c語言的函數返回值
所謂返回值,就是人們想要知道函數或者程序所得到 的結果而設計的函數或者程序結束時給出一個值。比如:我們編寫一個加法函數,肯定想知道加完過後的結果是什麼,那麼我們就指定這個結果為該加法程序的返回值。
關於返回值的返回:
1、函數調用語句本身代表其返回值:例如:fun(a);那麼「fun(a)」就是這個返回值。
2、可以把返回值存到對應類型的變數之中。例如:int a=fun(b);
3、返回值是多種多樣的,可以是各種各樣的,int short char double 等等,還可以是指針或者結構體。在數據結構的二叉樹部分,某一個函數的返回值是一個帶有兩個指針的結構體。
⑧ 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
這個意思。
⑨ c語言,返回函數的三種方法,請解釋明白點,有例子更好了
函數參數和
返回值
三種傳遞方式:值傳遞、指針傳遞和引用傳遞
引用與指針的比較
引用是
C++中的概念,初學者容易把引用和指針混淆一起。一下程序中,n
是m
的一個引用(
reference
),m
是被引用物(referent)。
int
m;
int
&n
=
m;
n
相當於m
的別名(綽號),對n
的任何操作就是對m
的操作。所以n
既不是m
的拷貝,也不是指向m
的指針,其實n
就是m
它自己。
C++語言
中,函數的參數和返回值的傳遞方式有三種:值傳遞、指針傳遞和引用傳遞。
以下是「值傳遞」的示常式序。由於Func1
函數體內的x
是
外部變數
n
的一份拷貝,改變x
的值不會影響n,
所以n
的值仍然是0。
void
Func1(int
x)
{
x
=
x
+
10;
}
int
n
=
0;
Func1(n);
cout
<<
「n
=
」
<<
n
<<endl;
//
n
=
0
以下是「指針傳遞」的示常式序。由於Func2
函數體內的x
是指向外部變數n
的指針,改變該指針的內容將導致n的值改變,所以n
的值成為10。
void
Func2(int
*x)
{
(*
x)
=
(*
x)
+
10;
}
int
n
=
0;
Func2(&n);
cout
<<
「n
=
」
<<
n
<<endl;
//
n
=
10
以下是「引用傳遞」的示常式序。由於Func3
函數體內的x
是外部變數n
的引用,x
和n
是同一個東西,改變x
等於改變n,所以n
的值成為10。
void
Func3(int
&x)
{
x
=
x
+
10;
}
int
n
=
0;
Func3(n);
cout
<<
「n
=
」
<<
n
<<endl;
//
n
=
10
對比上述三個示常式序,會發現「引用傳遞」的性質象「指針傳遞」,而書寫方式象「值傳遞」。實際上「引用」可以做的任何事情「指針」也都能夠做,為什麼還要「引用」這東西?
答案是「用適當的工具做恰如其分的工作」。
⑩ C語言中函數返回類型和函數返回值
函數的返回值通過return語句來執行,即return後的變數或表達式的值,就為該函數的返回值(你可以根據需要自定義返回什麼值),而返回值的類型是指該值你想要得到的類型,比如return
a;(a的類型,你在函數體里定義的是int
a;但根據需要,你要的是一個float型的返回值),於是,這樣定義一個函數:
float
函數名(參數列表)
{
int
a;
函數體;
……
return
a;
}
這樣,返回值a就變成了float型。