我需要继续提示用户,直到他们给我一个参数。我有一个while(1)循环,其中包含一个break语句,但它在使用2个参数运行时会提前退出。如何继续提示而不是退出?我想做这样的事情:
bool flag = true;
while(flag)
{
// ..code
flag = false;
}
但这在C中不起作用。这是我到目前为止所做的。
int main(int argc, char* argv[])
{
while(1)
{
if(argc == 2)
{
reverse(argv[1]);
printf("Reversed string: %s\n", argv[1]);
}
else
{
printf("Error, wrong number of arguments. Please provide only one argument");
}
break;
}
return 0;
}
我尝试删除break语句并按预期获得无限循环,但没有"暂停"输入参数的执行。
答案 0 :(得分:3)
你做不到。命令行参数在启动时传递给程序。你不能要求更多的论点。您可以做的最好的事情是通知用户仅使用一个参数运行程序。如果不需要,我建议简单地忽略第二个参数,但仍然通知用户不需要它。