具體題目:使用
main
函式的引數,實現乙個整數計算器,程式可以接受三個引數,第乙個引數
「-a」
選項執行加法,
「-s」
選項執行減法,
「-m」
選項執行乘法,
「-d」選項執行除法,後面兩個引數為運算元。
例如:命令列引數輸入:
test.exe -a 1 2
執行1+2
輸出3
這道題主要用到的是main函式的引數這部分內容。
main函式既然是引數應該也是存在引數的。main函式的引數型別如下:
那這裡是有三個引數的:
第乙個引數:argc是個整形變數,表示命令行引數的個數(含第乙個引數)。
第二個引數:argv是個字元指標的陣列,每個元素是乙個字元指標,指向乙個字串。這些字串就是命令列中的每乙個引數。
第三個引數:envp是字元指標的陣列,陣列的每乙個元素是乙個指向乙個環境變數(字串)的字元指標。
舉個例子:
rec.exe 4 5.2
argc 等於 3, argv[0] 是 "rec.exe", argv[1] 是 "4", argv[2] 是 "5.2"
注:argv和envp陣列中最後乙個元素存放的是null指標。
那麼我們可以根據定義來完成乙個簡單計算器:
#define _crt_secure_no_warnings 1
#include#include#includeint add(x,y)
int sub(x, y)
int mul(x, y)
int div(x, y)
int main(int argc, char*argv, char*envp)
switch (*(argv[1] + 1))
printf("ret=%d\n", ret);
system("pause");
return ret;
}
C語言 main函式的引數解析
每個c程式都必須有乙個main函式,main函式又稱為主函式,是執行程式的起點,它被稱之為函式,是否會像平時使用函式時需要自己的引數呢?答案是肯定的,那麼他都有那些引數呢?main函式的在vs2017環境下除錯,可以看到main函式裡的三個引數 可以看到,main函式裡面有三個引數 argc arg...
C語言main函式引數
c語言main函式引數 int main int argc char argv 或者是 int main int argc,char argv argc 命令列總的引數的個數 以空白符分隔 argv 字串指標陣列 陣列內存放指向char型別的指標 用來存放指向字串引數的指標陣列,每個元素指向乙個引數...
main函式引數解析
int argc,char ar agrc表示引數的個數 ar 儲存引數 這個函式的意思是逐一輸出引數 實際上,main函式也可以帶引數。帶引數main函式的定義格式如下 void main int argc,char ar argc和ar 是main函式的形式引數。這兩個形式引數的型別是系統規定的...