#includestdio.h
創(chuàng)新互聯(lián)建站憑借專業(yè)的設(shè)計團隊扎實的技術(shù)支持、優(yōu)質(zhì)高效的服務(wù)意識和豐厚的資源優(yōu)勢,提供專業(yè)的網(wǎng)站策劃、成都網(wǎng)站制作、成都網(wǎng)站設(shè)計、網(wǎng)站優(yōu)化、軟件開發(fā)、網(wǎng)站改版等服務(wù),在成都十載的網(wǎng)站建設(shè)設(shè)計經(jīng)驗,為成都數(shù)千家中小型企業(yè)策劃設(shè)計了網(wǎng)站。
#includeconio.h
void?login();
void?add();
bool?flags?=?true;
void?main()
{
while(flags)
login();
//add();
//getch();
}
void?login()
{
int?k;
int?L=888;
printf("口令888;請輸入驗證口令:");
scanf("%d",k);
if(L==k)
{
int?choice;
printf("您輸入正確,歡迎使用C計算器\n");
printf("+=======選擇要做的運算=======+\n");
printf("+=?1、加法?=+\n");
printf("+=?2、減法?=+\n");
printf("+=?3、乘法?=+\n");
printf("+=?4、除法?=+\n");
printf("+=?5、求余?=+\n");
printf("+=?0、退出?=+\n?");
printf("+============================+\n");
scanf("%d",choice);
switch(choice)
{
case?1:
add();
break;
case?0:
flags?=?false;
break;
default?:?printf("您輸入有誤");
break;
}
}
else
{
printf("您輸入錯誤,請重新輸入!");
}
}
void?add()
{
int?jia,fa;
printf("請輸入2個數(shù)");
scanf("%d?%d",jia,fa);
printf("%d+%d=%d\n",jia,fa,jia+fa);
}
首先你add寫在login里面,main先執(zhí)行l(wèi)ogin在執(zhí)行add,可是add在login了,所以main保留一個login,函數(shù)不能嵌套,add寫在外面。為了實現(xiàn)循環(huán),添加一個標志位flags初始為true,在選項里添加一個退出,選擇之后flags設(shè)為flase,退出計算器。
C語言中,函數(shù)調(diào)用的一般形式為:
函數(shù)名(實際參數(shù)表)
對無參函數(shù)調(diào)用時則無實際參數(shù)表。實際參數(shù)表中的參數(shù)可以是常數(shù)、變量或其它構(gòu)造類型數(shù)據(jù)及表達式。各實參之間用逗號分隔。
#includestdio.h
int?fun(int?x,?int?y);?//?函數(shù)聲明,如果函數(shù)寫在被調(diào)用處之前,可以不用聲明
void?main()
{
int?a=1,?b=2,?c;
c?=?fun(a,?b);?//?函數(shù)的調(diào)用,調(diào)用自定義函數(shù)fun,其中a,b為實際參數(shù),傳遞給被調(diào)用函數(shù)的輸入值
}
//?自定義函數(shù)fun
int?fun(int?x,?int?y)??//?函數(shù)首部
{??//?{}中的語言為函數(shù)體
return?xy???x?:?y;??//?返回x和y中較大的一個數(shù)
}
擴展資料
C語言中不允許作嵌套的函數(shù)定義。因此各函數(shù)之間是平行的,不存在上一級函數(shù)和下一級函數(shù)的問題。但是C語言允許在一個函數(shù)的定義中出現(xiàn)對另一個函數(shù)的調(diào)用。
這樣就出現(xiàn)了函數(shù)的嵌套調(diào)用。即在被調(diào)函數(shù)中又調(diào)用其它函數(shù)。這與其它語言的子程序嵌套的情形是類似的。其關(guān)系可表示如圖。
圖表示了兩層嵌套的情形。其執(zhí)行過程是:執(zhí)行main函數(shù)中調(diào)用a函數(shù)的語句時,即轉(zhuǎn)去執(zhí)行a函數(shù),在a函數(shù)中調(diào)用b 函數(shù)時,又轉(zhuǎn)去執(zhí)行b函數(shù),b函數(shù)執(zhí)行完畢返回a函數(shù)的斷點繼續(xù)執(zhí)行,a函數(shù)執(zhí)行完畢返回main函數(shù)的斷點繼續(xù)執(zhí)行。
參考資料:函數(shù)調(diào)用_百度百科
一、//調(diào)用函數(shù)事例
#includestdio.h
#includestring.h
二、//計算加法函數(shù)
int add(int a, int b)
{
return a+b;
}
三、//計算減法函數(shù)
int subtract(int a, int b)
{
return a-b;
}
四、//計算乘法函數(shù)
int multiply(int a, int b)
{
return a*b;
}
擴展資料:
函數(shù)作為另一個函數(shù)調(diào)用的實際參數(shù)出現(xiàn)。這種情況是把該函數(shù)的返回值作為實參進行傳送,因此要求該函數(shù)必須是有返回值的。例如: printf("%d",max(x,y)); 即是把max調(diào)用的返回值又作為printf函數(shù)的實參來使用的。在函數(shù)調(diào)用中還應(yīng)該注意的一個問題是求值順序的問題。
參考資料來源:百度百科-函數(shù)調(diào)用
#includestdio.h
int sum(int n)
{
int i=0,s=0;
while(i=n)
{
? s=s+i;
? i++;
}
return s;
}
int main()
{
int n;
printf("請輸入要累積的數(shù):");
scanf("%d",n);
sum(n);
printf("累加的結(jié)果為%d",sum(n));
return 0;
}
擴展資料:
使用函數(shù)的優(yōu)勢:
C語言程序鼓勵和提倡人們把一個大問題劃分成一個個子問題,對應(yīng)于解決一個子問題編制一個函數(shù),因此,C語言程序一般是由大量的小函數(shù)而不是由少量大函數(shù)構(gòu)成的,即所謂“小函數(shù)構(gòu)成大程序”。
這樣的好處是讓各部分相互充分獨立,并且任務(wù)單一。因而這些充分獨立的小模塊也可以作為一種固定規(guī)格的小“構(gòu)件”, 用來構(gòu)成新的大程序。
參考資料來源:百度百科-C語言