Ⅰ c語言返回值函數用法
參數和返回值是兩碼事,不要當成一個詞。無參無返回值函數 void faction() { } //前面的void就是返回值的類型 『void』是空的意思,就是說返回值是空,也就是無返回值的意思有參無返回值函數 void faction(int i){ } //參數為整形的函數,且也是無返回值的。無參有返回值函數 int faction(){ } //返回值為int 型的函數,且是無參的。有參有返回值函數 char faction(int i) //返回值為char的函數,且參數是int 型
Ⅱ 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語言中,函數返回值怎麼用
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語言裡面所謂返回值是說一個函數當他執行到return的時候他會停止執行下面的語句向引用他的地方傳遞一個值
下面舉例子說明
int
pp(void
)
//那個int就代表返回值的類型
{
……
return
0;
//這個就代表給執行pp這個函數的地方返回int類型的0
}
如果在主函數中有一句a=pp();那麼等號右邊就等於int
類型的0
,如果a是int類型那麼a就等於0
return後面還可以接表達式
int
kk(int
a,int
c)
{
return
a+c;
//這個就代表給執行pp這個函數的地方返回a+c的結果
}
如果調用的地方寫int
k;
k=kk(3,4);那麼結果就是k等於7
當然返回值類型不是只有int
還可以有char
float那些和結構體類型
如果你不需要返回的時候可以寫void
kk(void){}這樣就不會返回了
但是如果你是寫
kk(void){}沒有前面的void默認是給你在前面補上int的而不是無返回值
還有什麼問題你再追問吧
Ⅳ C語言中函數調用怎麼返回兩個值
在C語言中,函數只能返回一個值,要返回兩個值,可以改換思路,通過其它方式做到。
1 建立數組,返回指針。
在要返回的兩個值類型相同時,可以用創建數組的方式,將要返回的值存在數組中,並返回數組首地址,這樣就可以實現返回兩個值的效果。
需要注意的是,要返回數組首地址,那麼返回的值不可以是局部變數,有如下幾種是可以的:
a) 使用靜態局部變數存儲,並返回地址;
b) 使用全局變數存儲,返回地址;
c) 函數中動態分配內存,並返回申請到的地址,此種方法需要注意,在使用後需要釋放;
d) 在參數中傳入數組地址,並返回。即返回的實際上是主調函數中的變數地址。
2 建立結構體,返回結構體變數。
將需要返回的值,寫成結構體形式,並返回結構體變數,這樣可以實現一個返回值中含有多組數據。
3 當數據規模較小時,可以採用將小規模數據合並為大規模數據的方式,進行返回。
比如,需要返回兩個char型數據時,可以通過返回一個short數據,高地位分別存儲各自的值。
除以上方法外,還可以不使用返回值的方式,而是通過函數參數傳值,或者全局變數傳值等方式,將要返回的值回傳給主調函數。
Ⅵ C語言子程序的返回值如何調用
是的,直接用變數接收返回值就可以了。注意定義的變數類型與返回值類型一致即可。
Ⅶ 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語言中調用函數的返回值,如果是數組,主函數要輸出這個數組怎麼實現啊
用指針,另外保存數據的變數退出函數時不得消失。
例如:
#include<stdio.h>
int * fun(int n)
{
int i;
static int a[100]; // 這里用static
for (i=0;i<n;i++) a[i]=i;
return &a[0];
}
void main()
{
int i,n=5;
int *p; // 聲明指針
p = fun(n); // 返回指針
for (i=0;i<n;i++) printf("%d ",p[i]); // 把 p 看成數組來輸出
}
得 0 1 2 3 4
(8)c語言調用返回值怎麼寫擴展閱讀:
注意事項
1、數組的維度必須是一個常量表達式
int main(void)
{
constexpr int i = 20;
int j = 5;//不是常量表達式
int arr1[i];//正確
int arr2[j];//錯誤
system("pause");
return 0;
}
2、默認情況下,數組的元素被默認初始化。
而且需要注意的是,和內置類型的變數一樣,如果在函數內部定義了某種內置類型的數組,那麼默認初始化會令數組有未定義的值。
Ⅸ 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語言的函數返回值
所謂返回值,就是人們想要知道函數或者程序所得到 的結果而設計的函數或者程序結束時給出一個值。比如:我們編寫一個加法函數,肯定想知道加完過後的結果是什麼,那麼我們就指定這個結果為該加法程序的返回值。
關於返回值的返回:
1、函數調用語句本身代表其返回值:例如:fun(a);那麼「fun(a)」就是這個返回值。
2、可以把返回值存到對應類型的變數之中。例如:int a=fun(b);
3、返回值是多種多樣的,可以是各種各樣的,int short char double 等等,還可以是指針或者結構體。在數據結構的二叉樹部分,某一個函數的返回值是一個帶有兩個指針的結構體。