#include
#include
int main(int argc, char *argv[])
{
char x;
float a, b;
if (argc != 4)
{
printf("You may use program %s like this: %s 10 + 20\n", argv[0], argv[0]);
return 1;
}
x = argv[2][0];
a = atof(argv[1]);
b = atof(argv[3]);
switch (x)
{
case '+':
printf("%.2f", a + b);
break;
case '-':
printf("%.2f", a - b );
break;
case '/':
if (argv[3] == 0)
{
printf("Error, You put 0 as a divisor\n");
break;
}
else
{
printf("%.2f", a / b);
}
break;
case '*':
case 'x':
case 'X':
printf("%.2f", a * b);
break;
default:
printf("You put a error operator\n");
break;
}
return 0;
}
#include"stdio.h"
#include"stdlib.h"
void main(int argc,char *argv[])
{
char str1[128];
int i,a,b,c;
char str2[128];
char str3[128];
char ch1;
if(argcreturn;
strcpy(str1,argv[1]);
i=0;
while(str1[i]!='*' && str1[i]!='+' && str1[i]!='-' && str1[i]!='/' && str1[i]!=0)
{
str2[i]=str1[i];
i++;
}
str2[i]=0;
ch1=str1[i];
if(str1[i] == 0)
return;
i++;
while(str1[i]!=0)
{
str3[i]=str1[i];
i++;
}
str3[i]=0;
a=atoi(str2);
b=atoi(str3);
if(ch1 == '*')
c=a*b;
if(ch1 == '+')
c=a+b;
if(ch1 == '-')
c=a-b;
if(ch1 == '/')
{
if(b != 0)
c=a/b;
}
printf("%s=%d",str1,c);
getchar();
}
#include
命令行参数即 运行程序时 拍入的位置参数。
例如 程序名 a.exe,
运行程序时 拍入 a.exe p1 p2 p3 p4 p5
这里的 p1 p2 p3 p4 p5 就是 命令行参数。
例如 矩形面积计算程序 a.exe,命令行参数 宽 高:
#include
int main(int argc, char *argv[])
{
double w,h;
if (argc printf("Usage: %s width height\n", argv[0]);
return 0;
}
sscanf(argv[1],"%lf",&w);
sscanf(argv[2],"%lf",&h);
printf("Area = %lf\n",w*h);
return 0;
}
a.exe 1.2 3.0
命令行参数 宽 高 是 1.2 3.0, 输出:
Area = 3.600000
怎样使用命令行参数
原文:C语言学习零碎整理(6):怎样使用命令行参数
如:
#include
main(int argc, char *argv[] )
{
int i;
for(i = 1;i < argc; i++ )
printf("%s%s",argv[i],(i < argc - 1) ? " " :"");
printf("\n");
return 0;
}
对这个程序进行编译和连接,生成可执行文件,则可用它作为一个命令用在DOS提示符后。
****一定要注意可执行文件的路径问题。***
如:文件存在d:\wen-tc\projects下,名字为echo.c,则可以这样做:
打开命令提示行,转入到d:\wen-tc\projects下,输入echo wenming moonvbingbing,则可显示wenming moonbingbing。
成功!!!
*************************
注意:
1:argc[0]为的值为启动该程序的程序名,所以argc的值至少为1。
2:argv[argc]的值必须为一个空指针。
在上面的例子中,argv[0],argv[1],argv[2]分别为“echo”,“wenming”,“moonbingbing”。
就是说,如果输入1 + 2,你就计算得3。
如果输入1 * 2,你就计算得2。
这个很简单的。
main(int argc, char *argv[])
{
int a,b;
a= atoi(argv[1]);
b= atoi(argv[3]);
if (argv[2]=='+')
printf( "\n%d\n",a+b);
else if (argv[2]=='-')
printf( "\n%d\n",a-b);
else if (argv[2]=='*')
printf( "\n%d\n",a*b);
else if (argv[2]=='/')
printf( "\n%d\n",a/b);
}
简单来写就是这样的 。比如你编译的运行程序是cale.exe,那么你输入方式就是 cale 1 + 2 回车。注意有空格