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;
}