還是拿樓上的那個例子
創(chuàng)新互聯(lián)專注于嘉蔭企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開發(fā),電子商務(wù)商城網(wǎng)站建設(shè)。嘉蔭網(wǎng)站建設(shè)公司,為嘉蔭等地區(qū)提供建站服務(wù)。全流程按需開發(fā),專業(yè)設(shè)計,全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
int
add(int
a,int
b)
{
int
c;
c=a+b;
return
c;
}
函數(shù)調(diào)用就是在別的函數(shù)中調(diào)用add這個函數(shù),在函數(shù)中填入相對應(yīng)的量,如在main函數(shù)中以add(3,4);調(diào)用
返回值:如果函數(shù)(如add)前有函數(shù)類型(int),這就是返回值類型,其實(shí)就是c,簡單點(diǎn)說,如果函數(shù)里有return后便那個值就是返回值,如果沒有return語句,他就返回空,也就可以說沒有返回值
所有C函數(shù),只要其有返回值,都是由寄存器Ax(對于32位而言為EAX,如果AX不足以容納,則由DX保存超過AX容量的部分)保存的(也可能是值,也可能是某一地址,視返回類型而定)。
上面這個C函數(shù)程序,計算(xy?x:y);后,該值就存在AX(EAX)中,當(dāng)你在其他函數(shù)中調(diào)用該函數(shù)
后,比如
a=max(m,n);后,其實(shí)就是進(jìn)入max()完成后,函數(shù)返時將計算結(jié)果存放在AX中,執(zhí)行這個語句后,即就將AX的值傳給了a.
其實(shí),這也很容易驗(yàn)證:
在調(diào)用
a=max(m,n);
緊接著輸入以下語句(注意:這中間絕對不能有其他任何函數(shù)調(diào)用和語句):
b=_AX;
printf("a=%d,b=%d",a,b);
你就可能發(fā)現(xiàn),a=和b=一定是同一個值。
寫個示例程序供你參考吧:
#include stdio.h
typedef struct Node{
char name[12];
int age;
}NODE;
NODE input()
{
NODE n={0};
scanf("%s%d",n.name,n.age);
return n;
}
int main()
{
NODE node = input();
printf("name:%s\n age:%d\n",node.name,node.age);
return 0;
}
你可以這么理解,比如我們定義了一個函數(shù)fun(),如果這個函數(shù)有返回值,那么在調(diào)用程序里面(比如主函數(shù))就可以把這個函數(shù)當(dāng)成一個數(shù)使用;如果沒有返回值,那么通常他就是一個獨(dú)立的語句存在。
比如fun函數(shù)里面有個return 0;表示返回值是零,那么在調(diào)用函數(shù)里面就可以存在諸如
a=fun();b=a+fun();if(fun()=0{};……這類的語句,表示a=0;b=a+0;if(00){};等等,當(dāng)然也可能是返回一個變量的值,你個指針的值是一樣的。
如果沒有return 語句,那么函數(shù)沒有返回值,調(diào)用函數(shù)里面就不能把他當(dāng)做一個數(shù)值來使用,會出現(xiàn):
fun();單獨(dú)成句的語句,在fun()里面可能進(jìn)行了一些操作,但不需要結(jié)果。
C語言自帶的函數(shù)通常都有返回值,計算函數(shù)返回計算結(jié)果,操作函數(shù)返回操作結(jié)果(成功返回1,失敗返回0)
新聞標(biāo)題:c語言函數(shù)返回值存儲 C語言中函數(shù)的返回值
本文路徑:http://m.kartarina.com/article40/hjgpeo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、域名注冊、服務(wù)器托管、搜索引擎優(yōu)化、做網(wǎng)站、網(wǎng)站營銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)