C语言main函数带命令行参数的使用
假设程序编译后生成的可执行文件为mycal.exe.。在命令行提示符下,通过在windows开始菜单执行cmd命令,出现:c:\>,键入mycal 100+200 运行的结果为 300;键入mycal 100*200 运行的结果为20000 等。想要源代码,谢谢
#include <stdio.h> #include <stdlib.h> int main(int argc,char *argv[]) { if(argc<3) { printf("参数不足\n"); return 0; } long a = strtol(argv[1], NULL, 10); long b = strtol(argv[2], NULL, 10); printf("%s +%s =%ld \n",argv[1],argv[2],a+b); return 0; } /* D:\c_source\w16\w16\Debug>w16 参数不足 D:\c_source\w16\w16\Debug>w16 100 220 100 +220 =320 D:\c_source\w16\w16\Debug> */
#include <stdio.h> #include <stdlib.h> int main(int argc,char *argv[]) { printf("本次执行共传入了%d个参数\n",argc); for(int i=0;i<argc;i++) printf("其中 第%d个参数是 %s \n",i,argv[i]); return 0; } /* D:\c_source\w16\w16\Debug>w16 100 220 ;odsj lsdjkla lj lsalkjkd 本次执行共传入了7个参数 其中 第0个参数是 w16 其中 第1个参数是 100 其中 第2个参数是 220 其中 第3个参数是 ;odsj 其中 第4个参数是 lsdjkla 其中 第5个参数是 lj 其中 第6个参数是 lsalkjkd */
#include <stdio.h> #include <stdlib.h> int f(int x, int y, char ch) { int n; switch (ch) { case '+':n = x + y; break; case '-':n = x - y; break; case '*':n = x*y; break; case '/':n = x / y; break; default:printf("error.\n"); exit(EXIT_FAILURE); } return n; } int main(int argc, char *argv[]) { if (argc != 4) { printf("error.\n"); return; } int a, b; a = atoi(argv[1]); b = atoi(argv[3]); char ch = argv[2][0]; printf("运行的结果为:%d\n", f(a, b, ch)); return 0; }