前面介紹的main函數(shù)都是不帶參數(shù)的,。因此main 后的括號(hào)都是空括號(hào)。實(shí)際上,,main函數(shù)可以帶參數(shù),,這個(gè)參數(shù)可以認(rèn)為是main函數(shù)的形式參數(shù)。C語(yǔ)言規(guī)定main函數(shù)的參數(shù)只能有兩個(gè),,習(xí)慣上這兩個(gè)參數(shù)寫為argc和argv,。因此,main函數(shù)的函數(shù)頭可寫為:
main(int argc,char *argv){ while(argc-->1) printf('%s\n',*++argv);} 本例是顯示命令行中輸入的參數(shù)。如果上例的可執(zhí)行文件名為e24.exe,,存放在A驅(qū)動(dòng)器的盤內(nèi),。因此輸入的命令行為:C:\>a:e24 BASIC foxpro FORTRAN 則運(yùn)行結(jié)果為: BASIC foxpro FORTRAN 該行共有4個(gè)參數(shù),執(zhí)行main時(shí),,argc的初值即為4,。argv的4個(gè)元素分為4個(gè)字符串的首地址。執(zhí)行while語(yǔ)句,,每循環(huán)一次argv值減1,,當(dāng)argv等于1時(shí)停止循環(huán),共循環(huán)三次,,因此共可輸出三個(gè)參數(shù),。在printf函數(shù)中,由于打印項(xiàng)*++argv是先加1再打印,, 故第一次打印的是argv[1]所指的字符串BASIC,。第二、三次循環(huán)分別打印后二個(gè)字符串,。而參數(shù)e24是文件名,,不必輸出。
|
|
來(lái)自: 昵稱34122805 > 《文件夾1》