【发布时间】:2014-12-09 17:06:03
【问题描述】:
我想知道当用户输入我们不希望他输入的内容时,是否有任何方法可以返回到 if 语句的开头。例如:
#include <stdio.h>
int main()
{
int number1;
printf("Please enter a number:"); scanf("%d", &number1);
if(blablabla)
printf("blabla");
else if(blablabla)
printf("blabla");
else if(blablabla)
printf("blabla");
else
/*I want to return to the beginning of this if statement so the user can try again*/
}
我在 goto 上看到了一些东西,但我不确定这是要走的路... 非常感谢! :]
【问题讨论】:
-
不,
goto很可能不是正确的选择!它只用于极少数、非常具体的事情。但是,您可以简单地将整个代码包装在while循环中,如果输入与您的任何预期输入都不匹配,则重复执行 -
我绝对不会为此使用
goto。我会使用while循环。或者把它分解成一个函数并使用 recursion 如果你感觉很活泼。 -
@DrewMcGowen 我编辑了我的评论以使其更清楚。
-
goto 绝对不是要做的事情:do while 循环非常适合您的问题
标签: c if-statement return goto