C语言关于命令行参数程序,帮忙看下怎么回事
#include<stdlib.h>#include<stdio.h>
int main(int argc, char *argv[]){
int a,b;
a=atoi(argv[1]);
b=atoi(argv[3]);
switch(argv[2][0]){
case '+' : printf("%d + %d = %d\n",a,b,a+b);break;
case '-' : printf("%d - %d = %d\n",a,b,a-b);break;
case '*' : printf("%d * %d = %d\n",a,b,a*b);break;
case '/' : printf("%d / %d = %d\n",a,b,a/b);
}
return 0;
}
这个程序要求参数是两个整数,一个符号(加,减,乘,除),
然后进行相应的运算并显示出算式和结果。
问题:Linux系统下运行时加,减,除都正常,为什么乘法无法运行?
运行结果举例:
linux@ubuntu:~$ ./ex7 3 + 5
3 + 5 = 8
linux@ubuntu:~$ ./ex7 3 - 5
3 - 5 = -2
linux@ubuntu:~$ ./ex7 3 * 5
linux@ubuntu:~$