帶引數的main函式應該怎樣執行呢

2021-12-18 23:00:13 字數 2713 閱讀 2581

1樓:yesyes科

1、首先開啟程式設計軟體,輸入一個c語言的原始碼來測試。

2、讓其輸出第一個int型別的數,但這樣還不清晰。

3、接下來使用while迴圈讓其輸出輸入的字串。

4、完成後,進行編譯。然後回車執行後,就能夠看到輸出的引數資訊,說明程式已經成功獲取引數。

2樓:

c程式最大的特點就是所有的程式都是用函式來裝配的。main( )稱之為主函式,是所有程式執行的入口。其餘函式分為有參或無參兩種,均由main( )函式或其它一般函式呼叫,若呼叫的是有參函式,則引數在呼叫時傳遞。

main( )

f1(int a,int b)

f2( int m,int n)

對main( )函式始終作為主調函式處理,也就是說,允許main( )呼叫其它函式並傳遞引數。事實上, main( )函式既可以是無參函式,也可以是有參的函式。對於有參的形式來說,就需要向其傳遞引數。

但是其它任何函式均不能呼叫main( )函式。當然也同樣無法向main( )函式傳遞,只能由程式之外傳遞而來。這個具體的問題怎樣解決呢?

我們先看一下main( )函式的帶參的形式:

main(argc, argv)

int argc,char * argv;

從函式引數的形式上看,包含一個整型和一個指標陣列。當一個c的源程式經過編譯、連結後,會生成副檔名為. e x e的可執行檔案,這是可以在作業系統下直接執行的檔案,換句話說,就是由系統來啟動執行的。

對main( )函式既然不能由其它函式呼叫和傳遞引數,就只能由系統在啟動執行時傳遞引數了。

在作業系統環境下,一條完整的執行命令應包括兩部分:命令與相應的引數。其格式為:

命令引數1 引數2 . . . .引數n¿

此格式也稱為命令列。命令列中的命令就是可執行檔案的檔名,其後所跟引數需用空格分隔,併為對命令的進一步補充,也即是傳遞給main( )函式的引數。

命令列與main( )函式的引數存在如下的關係:

設命令列為: program str1 str2 str3 str4 str5

其中program 為檔名, 也就是一個由program.c 經編譯、連結後生成的可執行檔案program.exe,其後各跟5個引數。

對main( )函式來說,它的引數arc記錄了命令列中命令與引數的個數,共6個,指標陣列的大小由引數argc的值決定,即為char *argv[6]。

陣列的各指標分別指向一個字串。應當引起注意的是接收到的指標陣列的各指標是從命令列的開始接收的,首先接收到的是命令,其後才是引數。

3樓:斯克迪亞

主函式的引數可以通過命令列或快捷方式指派 如某些程式附加-window引數就是視窗執行 多數程式不需要引數也可以執行 這主要看程式是怎麼寫的了 接收引數一般只接受一個字串陣列 該陣列的元素值就是根據輸入的引數依次排列出來的

4樓:匿名使用者

我只說說如何執行!!

將你編好的**檔案(姑且命名為code.c)編譯連線成可執行檔案code.exe,在dos模式下進入到code.exe的當前目錄,以下面格式執行即可。

code.exe 引數1 引數2 ... 引數n

5樓:匿名使用者

執行方法:

(假設你的程式為untitled1.exe)開啟命令提示符:

轉到你的untitled1.exe的目錄,輸入下列命令:

untitled1.exe a basdfsa 1314324 -k -f

回車就可以執行了。

這時,在main函式裡定義的

int main(int argc, char *args)裡的argc = 6,就是表示有六個引數,對應的args[0] = "untitled1.exe";

args[1] = "a";

args[2] = "basdfsa";

args[3] = "1314324";

args[4] = "-k";

args[5] = "-f";

就是這樣子了。

6樓:

在你執行的時候,輸入引數就行了

7樓:沫沫容

main函式也可以帶引數。帶引數main函式的定義格式如下:

void main(int argc, char *argv)

argc和argv是main函式的形式引數。這兩個形式引數的型別是系統規定的。如果main函式要帶引數,就是這兩個型別的引數;否則main函式就沒有引數。

變數名稱argc和argv是常規的名稱,當然也可以換成其他名稱。

那麼,實際引數是如何傳遞給main函式的argc和argv的呢?我們知道,c程式在編譯和連結後,都生成一個exe檔案,執行該exe檔案時,可以直接執行;也可以在命令列下帶引數執行,命令列執行的形式為:

可執行檔名稱 引數1 引數2 ... ... 引數n

執行檔名稱和引數、引數之間均使用空格隔開。例如,在linux下執行程式./a.out 1 2 ,可執行檔名稱為./a.out,引數1為字串1,引數2為2。

如果按照這種方法執行,命令列字串將作為實際引數傳遞給main函式。具體為:

(1) 可執行檔名稱和所有引數的個數之和傳遞給argc;所以上面的argc=3

(2) 可執行檔名稱(包括路徑名稱)作為一個字串,首地址被賦給argv[0],引數1也作為一個字串,首地址被賦給argv[1],... ...依次類推。

c 中如果定義了帶引數的建構函式,那麼在定義物件時,必須初始化嗎

是這樣的。你定義了建構函式,系統就不會用預設的建構函式了。中你定義了自己的帶參建構函式,所以系統的預設建構函式就在編譯時,不會生成了。這個就需要自己定義了。否則的話,date a 這樣使用的時候就會報錯。定義物件的時候它會呼叫相應的建構函式初始化自己。如果沒有引數就呼叫不帶引數的建構函式。如果一個類...

40歲的女人應該帶怎樣的首飾才不會小氣

女人總是會和首飾一起出現,但是過了40歲以上的女人,就不應該戴這些首飾了,例如,水晶手鍊,流蘇耳環,誇張的大戒指,字母項鍊等。40歲以上的中年女性在著裝和內在沉積上都應該比20歲的女孩更成熟。然而,許多女性擔心自己到了這個年齡會變老,所以她們總是選擇一些看起來很嫩的衣服和配飾,比如各種洋娃娃衣領上衣...

普通帶毛的靴子應該怎樣清洗,帶毛的鞋子怎麼清洗

1 如果是不可水洗的,可以用小牙刷沾加有清潔劑的水清潔鞋面較髒的地方,然後再用小牙刷沾清水清潔,最後用乾布擦拭即可。提醒注意一下 勿用刷子和水直接去刷鞋面,會減少鞋子本身的壽命。2 如果是可以水洗,直接用溫水清洗就可以了。如果洗不洗下來頑固汙漬也可用軟毛刷或抹布沾松節油或苯液刷洗,然後再用皁液搓洗,...