c語言函數返回值
① 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語言函數返回值問題
#include <stdio.h>
long int countArray(int *a,int n)
{
int i;
long int s=0;
for(i=0;i<n;++i){
scanf("%d",a+i);
s+=a[i];
}
return s;
}
int main(void)
{
int arr[10];
printf("%ld\n",countArray(arr,10));
return 0;
}
③ c語言的函數返回值
所謂返回值,就是人們想要知道函數或者程序所得到 的結果而設計的函數或者程序結束時給出一個值。比如:我們編寫一個加法函數,肯定想知道加完過後的結果是什麼,那麼我們就指定這個結果為該加法程序的返回值。
關於返回值的返回:
1、函數調用語句本身代表其返回值:例如:fun(a);那麼「fun(a)」就是這個返回值。
2、可以把返回值存到對應類型的變數之中。例如:int a=fun(b);
3、返回值是多種多樣的,可以是各種各樣的,int short char double 等等,還可以是指針或者結構體。在數據結構的二叉樹部分,某一個函數的返回值是一個帶有兩個指針的結構體。
④ 關於C語言函數返回值
1、傳入結構體指針,用結構體保存返回;
2、加個條件檢測。
#include<stdio.h>
typedef struct _result {
int ji;
int tu;
} result;
int main()
{
int fun(int,int,result*);
int sum,j_sum; /*sum為雞和兔的總數,j_sum為雞兔腳的總數*/
result r;
int f;
f = 1;
do {
printf("請輸入雞和兔的總數:");
scanf("%d",&sum);
printf("請輸入雞和兔腳的總數:");
scanf("%d",&j_sum);
fun(sum,j_sum, &r);
if(r.ji == -1 || r.tu == -1) {
printf("你輸入的雞兔的總數和腳的總數不能夠能配對!\n");
} else {
printf("雞的數量為%d\n",r.ji);
printf("兔的數量為%d\n",r.tu);
f = 0;
}
} while(f);
return 0;
}
void fun(int i,int j, result* r)
{
int t,jl;
r->ji = r->tu = -1;
if((j>2*i)&&(j<4*i))
{
t=(j-2*i)/2;
jl=i-t;
}
r->ji = jl; r->tu = t;
}
⑤ c語言返回值具體是指什麼
子函數的返回值,main主函數也是有返回值的,但是一般用不到都忽略掉了,一般來說的返回值就是子函數的返回值。當需要一個函數去處理數據時,如求平方,這時候求平方後的值可以有兩種方法表達
1、以值的形式返回給你,即return x,這樣就可以利用這個結果了,此時函數名前當然要加返回的數據類型了
2、當不需要對這一結果進一步處理時,直接printf,這樣可以直接在終端上顯示結果了,這時就沒必要去加了,直接VOID
(5)c語言函數返回值擴展閱讀
void:聲明函數無返回值或無參數,聲明無類型指針,顯示丟棄運算結果。(C89標准新增)
如果一個變數聲明時在前面使用 * 號,表明這是個指針型變數。換句話說,該變數存儲一個地址,而 * 則是取內容操作符,意思是取這個內存地址里存儲的內容。指針是 C 語言區別於其他同時代高級語言的主要特徵之一。
指針不僅可以是變數的地址,還可以是數組、數組元素、函數的地址。通過指針作為形式參數可以在函數的調用過程得到一個以上的返回值,不同於return(z)這樣的僅能得到一個返回值。
⑥ c語言函數的返回值是什麼意思
就是函數的運算結果。特別的,對於main函數來說,返回值表示程序的執行狀態。
⑦ c語言中函數的返回值到底是什麼意思,有什麼用
一個函數的函數名既是該函數的代表,也是一個變數。由於函數名變數通常用來把函數的處理結果數據返回給調用函數,即遞歸調用,所以一般把函數名變數稱為返回值,函數的返回值類型是在定義函數時指定的。
函數可以有返回值,也可以沒有返回值。
1、沒有返回值的函數:功能只是完成一個操作,應將返回值類型定義為void,函數體內可沒有return語句。
2、有返回值的函數:函數的最後會有一個返回值return,可以用來獲取該函數執行結果返回給該函數,讓外部調用該函數的。
一個函數的函數名既是該函數的代表,也是一個變數。由於函數名變數通常用來把函數的處理結果數據返回給調用函數,即遞歸調用,所以一般把函數名變數稱為返回值,函數的返回值類型是在定義函數時指定的。
(7)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。
⑧ c語言中調用函數如何返回多個值
1、通過使用指針,在函數調用時,傳遞帶有地址的參數,並使用指針更改其值;這樣,修改後的值就會變成原始參數。
⑨ c語言函數返回值
這個跟庫函數的定義有關。。還有就是編譯器的差異。。
有些編譯器默認是非0為真,有些非-1為真。。
建議不要使用這么簡單粗暴的辦法判斷。。請使用C提供的標准宏判斷。。
在哪裡學的。。呃。。自己寫代碼寫多了自然就知道了