这里面有个问在终端上,*代表通配符,实现乘法需要加反斜杠。
// main函数参数
// int main(int argc, char *argv[])
// argc 命令行传过来的参数个数
// argv 命令行传过来的参数的值,是一个字符指针数组
int main3(int argc, char **argv)
{
printf ("argc = %d\n", argc);
//char *str[] = {"./a.out", "1","2", "3", "4"};
int i;
for (i = 0; i < argc; i++)
{
printf ("%s\n", argv[i]);
}
return 0;
}
int main(int argc, char** argv)
{
if (argc != 4)
{
printf ("Usge:%s num1 op num2\n", argv[0]);
return -1;
}
int a = atoi(argv[1]);
int b = atoi(argv[3]);
int res;
//switch (*argv[2])
switch (argv[2][0])
{
case '+':
res = a + b;
break;
case '-':
res = a - b;
break;
case '*':
res = a * b;
break;
case '/':
res = a / b;
break;
}
printf ("%d\n", res);
return 0;
}