我們剛開始寫**(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...