C语言中循环中continue使用细微差别

 

C语言中,continue语句常用于跳过循环体的某部分代码,然后继续下一次循环,如代码1:

 

for(i=1;i<100;i++)

{

      if(i%3!=0)

         continue;

      printf("i=%d/n",n);

}

 

代码自动输出100以内3的倍数.

现在有如下代码2:

 

for(i=1;i<100;)

{

      if(i%3!=0)

         continue;

      printf("i=%d/n",n);

      i++;

}

 

代码2将语句 i++ 拿到了循环体中,该做法会导致死循环,当i=1时,continue语句会导致其后的所有语句被忽略,循环变量无法加1,死循环.

但在代码1中,i++仍然执行.这就是continue的特例.

代码3为对代码2进行了修改,其输出结果与代码1一致:

 

for(i=1;i<100;)

{

      if(i%3!=0)

         {  i++; continue;  }

      printf("i=%d/n",n);

      i++;

}

 

如果是while循环,同样需要做类似的处理.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值