main(int argc,char **argv)
{
int n1,n2,n3;
if(argc!=4)
{
printf("Usage:./cal 10+20\n");
return;
}
n1=atoi(argv[1]);
n2=atoi(argv[3]);
switch(argv[2][0])
{
case '+': n3=n1+n2;
printf("n3=%d\n",n3);
break;
case '*': n3=n1*n2;
printf("n3=%d\n",n3);
break;
case '-': n3=n2-n1;
printf("n3=%d\n",n3);
break;
case '/0': n3=n1/n2;
printf("n3=%d\n",n3);
default: printf("unknown option...\n");
}
}
将输入提供给程序后。它不提取输出。只有它正在执行“if(argc!= 4)”。为什么???使用C中的命令行参数计算器
因为像'./cal 10 + 20'这样的输入不满足'f(argc!= 4)',很简单。 –
HInt:尝试打印'argv [1]',:) –
用'./cal 10“+”20'调用程序 –