读书人

for循环解决思路

发布时间: 2013-07-25 16:22:17 作者: rapoo

for循环
为什么
for(i = 0;i < M;i++)
{
if(primb[i] == true)
{
prim[S] = i;
S++;
}
}

for(i = 0;i < M && primb[i] == true;i++)
{
prim[S] = i;
S++;
}
运行结果不同?
--------------------------------------
为什么
for(i = 0;i < S ;i++)
{
if(prim[i] > n)
break;
***
}

for(i = 0;i < S && prim[i] <= n;i++)
{
***
}
效果相同? c/C++
[解决办法]
代码1中prim[i] != true时只是不输出,但循环还会继续,因为循环条件中没有prim[i]。
代码2中遇到prim[i] != true时循环就结束不再继续,
代码3中prim[i]>n时执行break,结束循环与在循环条件中与上一个prim[i]<=n(代码4)效果相同

读书人网 >C语言

热点推荐