形參是一個變量,是在引用的函數(shù)中的變量
創(chuàng)新互聯(lián)長期為近1000家客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為殷都企業(yè)提供專業(yè)的網(wǎng)站設計制作、成都網(wǎng)站建設,殷都網(wǎng)站改版等技術服務。擁有10年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
實參也是一個變量.是在主函數(shù)中的變量.
兩個變量的使用范圍不同.
形參只在子函數(shù)中使用,實參可以在主函數(shù)中使用.
上面,實參寫成100,是說,在形參用100代進去.
而形參只能是一個變量,用來吸收實參傳遞進來的值,以輸出結(jié)果.
argc代表參數(shù)數(shù)量,后面的數(shù)組代表參數(shù)
我們經(jīng)常用的main函數(shù)都是不帶參數(shù)的。因此main 后的括號都是空括號。實際上,main函數(shù)可以帶參數(shù),這個參數(shù)可以認為是 main函數(shù)的形式參數(shù)。C語言規(guī)定main函數(shù)的參數(shù)只能有兩個, 習慣上這兩個參數(shù)寫為argc和argv。因此,main函數(shù)的函數(shù)頭可寫為: main (argc,argv)C語言還規(guī)定argc(第一個形參)必須是整型變量,argv( 第二個形參)必須是指向字符串的指針數(shù)組。加上形參說明后,main函數(shù)的函數(shù)頭應寫為: main (argc,argv) int argv; char *argv[]; 或?qū)懗桑?main (int argc,char *argv[])
由于main函數(shù)不能被其它函數(shù)調(diào)用, 因此不可能在程序內(nèi)部取得實際值。那么,在何處把實參值賦予main函數(shù)的形參呢? 實際上,main函數(shù)的參數(shù)值是從操作系統(tǒng)命令行上獲得的。當我們要運行一個可執(zhí)行文件時,在DOS提示符下鍵入文件名,再輸入實際參數(shù)即可把這些實參傳送到main的形參中去。 DOS提示符下命令行的一般形式為:
C:/可執(zhí)行文件名 參數(shù) 參數(shù)……;
但是應該特別注意的是,main 的兩個形參和命令行中的參數(shù)在位置上不是一一對應的。因為,main的形參只有二個,而命令行中的參數(shù)個數(shù)原則上未加限制。argc參數(shù)表示了命令行中參數(shù)的個數(shù)(注意:文件名本身也算一個參數(shù)),argc的值是在輸入命令行時由系統(tǒng)按實際參數(shù)的個數(shù)自動賦予的。例如有命令行為:
C:/E6 24 BASIC dbase FORTRAN ,由于文件名E6 24本身也算一個參數(shù),所以共有4個參數(shù),因此argc取得的值為4。argv參數(shù)是字符串指針數(shù)組,其各元素值為命令行中各字符串(參數(shù)均按字符串處理)的首地址。 指針數(shù)組的長度即為參數(shù)個數(shù)。數(shù)組元素初值由系統(tǒng)自動賦予。
main(int argc,char *argv[]){
while(argc--1) printf("%s/n",*++argv);
}
本例是顯示命令行中輸入的參數(shù)。如果上例的可執(zhí)行文件名為e24.exe,存放在A驅(qū)動器的盤內(nèi)。因此輸入的命令行為:
C:/a:e24 BASIC dBASE FORTRAN 則運行結(jié)果為:
BASIC
dBASE
FORTRAN
該行共有4個參數(shù),執(zhí)行main時,argc的初值即為4。argv的4個元素分為4個字符串的首地址。執(zhí)行while語句,每循環(huán)一次 argv值減1,當argv等于1時停止循環(huán),共循環(huán)三次, 因此共可輸出三個參數(shù)。在printf函數(shù)中,由于打印項*++argv是先加1再打印, 故第一次打印的是argv[1]所指的字符串BASIC。第二、 三次循環(huán)分別打印后二個字符串。而參數(shù)e24是文件名,不必輸出
argc表示參數(shù)的個數(shù);第二個參數(shù)中argv[0]為自身運行目錄路徑和程序名,argv[1]指向第一個參數(shù)、argv[2]指向第二個參數(shù)、等等。以下面的代碼為例:
#include?stdio.h
int?main(int?argc,char?**argv)
{
for(int?num=0;?num!=argc;?++num)
printf("%s\n",?argv[num]);
return?0;
}
直接編譯運行上面的程序,此時argc的值是1,表示只有一個參數(shù),實際上就是程序本身,參數(shù)argv[0]的內(nèi)容即為生成程序的具體目錄。
在cmd中運行時,可以通過空格來隔離輸入的參數(shù),通過下圖,應該更容易理解啦。
double Cylinder(h,r) //參數(shù)沒有指定類型啊
double Cylinder( double h, double r) 改成這樣試試
網(wǎng)站名稱:c語言兩個參變量函數(shù) C語言有參函數(shù)
文章起源:http://m.kartarina.com/article34/hgjipe.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供微信小程序、移動網(wǎng)站建設、ChatGPT、自適應網(wǎng)站、網(wǎng)站設計公司、網(wǎng)站設計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)