重复提示正确的参数数量

时间:2016-04-08 21:24:34

标签: c

我需要继续提示用户,直到他们给我一个参数。我有一个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语句并按预期获得无限循环,但没有"暂停"输入参数的执行。

1 个答案:

答案 0 :(得分:3)

你做不到。命令行参数在启动时传递给程序。你不能要求更多的论点。您可以做的最好的事情是通知用户仅使用一个参数运行程序。如果不需要,我建议简单地忽略第二个参数,但仍然通知用户不需要它。