【发布时间】:2017-03-16 07:32:53
【问题描述】:
我必须为明天与过滤器相关的作业做作业。我已经创建了我需要的函数,但我的 main 函数有问题,如下所示:
int main (int argc, char *argv[])
{
printf ("Select program: \n1-makeLower \n2-makeUpper \n3-makeChange");
switch(*argv[1])
{
case 1:
makeLower();
break;
case 2:
makeUpper();
break;
case 3;
makechange();
break;
default;
printf ("Error");
break;
}
return 0;
}
当我尝试编译它时,出现错误“pp2.exe 已停止工作”。你们能帮我解决这个问题吗。另外,我需要从命令行使用这个程序来过滤一些数据。我是否正确使用了switch 命令?我可以在命令行工作时切换 beetwen 功能吗?
【问题讨论】:
-
试试
switch(argv[1][0] - '0')。 -
或者更像
switch (atoi(argv[1])) -
两者都有效。但是,这两者都不是最优的,因为
argv是命令行参数,但您要求输入argv不是。 -
你可能想要类似
switch(getchar() - '0')的东西 -
另外,您需要
default:而不是default;,并且默认情况下不需要break;。
标签: c switch-statement command line execution