帶引數的main函式

2021-09-23 15:44:00 字數 1121 閱讀 7722

我們剛開始寫**(c語言)的時候用的都是無引數的main函式,如:

#include int main()

但是後來碰到了帶引數的main函式(此函式是cmu的**)

#include #include #include #define bufsize 256

int main(int argc, char *ar**)

else

}return 0;

}

裡面的引數為int argc, char *ar**,其中引數argc表示!!命令列!!中命令與引數的個數。ar**表示!!輸入引數的內容!!,預設argc為1,ar**[0]為程式名稱。如果輸入乙個引數,則argc為2,ar**[0]為程式名稱,ar**[1]為輸入的那個引數。

輸入時用空格將各個引數分開。

有時也會遇到main函式中引數為int argc,char **ar**,其中,char **ar**表示乙個指向字元指標的指標,可以想成指向字串的指標。

最後再講講這個**想告訴我們什麼吧,當我們按不同順序(2和3)輸入1e20    -1e20   3.14這三個引數時,會發現列印出的答案不一樣

1.luoxinxin@luoxinxin-virtual-machine:~/桌面/c$ ./a.out  -1e20  3.14

-1e+20 + 3.14 = -1e+20

2.luoxinxin@luoxinxin-virtual-machine:~/桌面/c$ ./a.out  1e20  -1e20  3.14

1e+20 + -1e+20 = 0

1e+20 + -1e+20 + 3.14 = 3.14

3.luoxinxin@luoxinxin-virtual-machine:~/桌面/c$ ./a.out  -1e20  3.14   1e20

-1e+20 + 3.14 = -1e+20

-1e+20 + 3.14 + 1e+20 = 0

這告訴我們當進行浮點數計算時會發生捨入(如1),所以計算時的順序尤為重要,同時有時候出問題就是出在這裡,要特別注意。

帶引數的main函式

void main int argc,char argv 程式中的argc 0代表什麼呢?while argc 0 printf s n argv 類while argc 0 main函式中所帶的兩個引數的含義這樣的 argc表示執行本命令 編繹連線產生的exe檔案 時所帶引數的個數,注意這裡包含e...

帶引數的main函式

在學習c語言的時候,我們知道除主函式外,函式是可以互相呼叫的,主函式可以呼叫其他函式,其他函式不能呼叫主函式,主函式是被系統呼叫的。函式呼叫時可以帶引數也可以不帶引數,這完全取決於該函式是有參函式還是無參函式。主函式可不可以帶引數呢?回答是肯定的,這種引數是在程式運算時給出的所以又叫命令列引數。下面...

帶引數的main函式

在學習c語言時,一般常見的main函式是這樣的 int main void 上面是個簡單的求和函式,簡單易懂,但有個缺點,程式執行時需要和使用者互動 一次次詢問輸入資料 操作起來不便捷。能不能像shell命令列那樣在呼叫函式時一次把引數都輸進去呢?答案是有的 main函式可以帶兩個引數int arg...