我想在用户输入任何大小的负数时退出while()
。当用户输入一个负数时,我需要什么样的条件才能在循环开始时退出循环?
那么什么是负数呢?它是一个小于0的数(记作x
),或者用符号表示为x < 0
。如果x
小于零,则这是正确的。如果不是,则为false。
可以无限循环,并在满足此条件时中断:
while (1) {
if (x < 0) {
break;
}
...
}
但是我更喜欢在while
循环中使用相反的条件:
while (x >= 0) {
...
如果条件为真,则继续循环。当它为假时(原始条件为真,因为这两个条件相反),循环中断。
使用if
条件判断数字是否小于0。如果是,只需在其中使用break
语句,这将使您退出循环。从MSDN了解break语句的更多信息。
int i = -1;
do
{
i = magic_user_input();
//simple enough? get a decent programming book to get the hang of loops
}
while(i > -1)
编辑:对不起,我的错误:'i'没有正确声明:)现在应该可以使用
不要将变量定义为无符号变量。正如其他答案所建议的那样,使用if语句并以if语句中断。
的例子:
int main(void)
{
int i;
while(1){
/*here write an statement to get and store value in i*/
if(i<0)
{
break;
}
/*other statements*/
return(0);
}
}