用负整数退出while循环



我想在用户输入任何大小的负数时退出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);
  }
 } 

最新更新