for循环的判断条件应注意!
来源:互联网 发布:网络qp是什么意思 编辑:程序博客网 时间:2024/05/01 17:06
错例:
用筛选法求100以内的素数:
#include<stdio.h>
void main()
{
int a[101],i,j,w;
for(i=1;i<101;i++)
a[i]=i;
a[1]=0;
for(i=2;i<101&&a[i]!=0;i++)
for(j=i+1;j<101&&a[j]!=0;j++)
if(a[j]%i==0) a[j]=0;
for(i=1;i<101;i++)
if(a[i]!=0) printf("%5d",a[i]);
printf("/n");
getch();
}
输出结果:2 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99
错误分析:for循环括号中的表达式2是判断循环是否进行下去的判断条件,你把绿色部分理解成如下:
for(i=2;i<101;i++)
{
if(a[i]==0) continue;
for(j=i+1;j<101;j++)
{
if(a[j]==0) continue;
if(a[j]%i==0) a[j]=0;
}
}
但程序进行到i=3,j=4是,a[j]=0,所以内层循环跳出,i=4,a[i]=0,所以最外层循环跳出,程序只把2之后2的倍数的数归零。
- for循环的判断条件应注意!
- java中for循环应注意的地方
- for (初始化语句; 判断条件; 循环条件)
- for循环的判断条件与内容的list重合,导致for循环一致进行
- NSURLSession的应注意避免循环引用
- for循环的条件冗余
- python if条件判断、for循环和while循环
- for-each循环应优先于传统的for循环
- for(foo('A');foo('B')&&(i<2);foo('C')) ,其实考的就是for (初始化语句; 判断条件; 循环条件)
- for循环的注意点
- for循环,循环条件
- for循环的条件判断中为什么用'!='而不用'<'
- c语音中for循环使用两个判断条件的写法
- python中的关于列表for循环和条件判断的混用
- php for循环的坑,千万不要在判断条件中使用count
- for循环的条件判断中为什么用'!='而不用'<'
- for循环判断条件中尽量不写函数
- C学习if条件判断和for循环
- 新人报道!!!今日,开始驻扎CSDN!
- 李老师讲Linux-从ls命令开始
- sql笔记整理
- 【叫我小猫Frank|整理】eclipse.ini/myeclipse.ini文件中参数配置
- target
- for循环的判断条件应注意!
- jar包相关命令详解
- 第一个月的工作
- 仓库的打印机
- p、*p和&p的区别与解释
- NOD32反病毒系统升级
- 不成功就是彻底的失败!
- 程序是写给人用的
- 油画