首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

for循环解决思路

2013-07-25 
for循环为什么for(i 0i Mi++){if(primb[i] true){prim[S] iS++}}与for(i 0i M && primb

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)效果相同

热点排行