#include<stdio.h> int main() { int n; for(n=100;n<=200;n++) { if(n%3==0) continue; printf("%d",n); } printf("\n"); return 0; } //输出100到200之间不能被3整除的数 #include<stdio.h> int main() { int n; for(n=100;n<=200;n++) { while(n%3==0){ continue;} printf("%d",n); } printf("\n"); return 0; }//输出100到200之间不能被3整除的数 第一个程序第七行用的if语句 第二个程序第七行用的while语句 用第一个程序可以输出100到200之间所有不能被3整除的数 可是用第二个只能输出100 101就没了,为什么?
continue只负责让一个循环语句产生”跳回“,即最接近continue的里层循环语句。
你第一个continue的,是for(n=100;n<=200;n++) (因为if不是循环语句,continue不会找它)
你第二个continue的,是while(n%3==0)循环,因为这个是距离continue最近的内层循环。
1
2
|
while
(n%3==0){
continue
;}
//当n=102的时候,这个while会无限次循环,死机了
|