w97676659 发表于 2019-9-29 14:25:32

break位置问题

#include<stdio.h>
int main()
{
        int i, j;
        int flag = 1,count=2;
        for (i = 4; i <= 10000; i++)
        {
                for(j=2;j<i;j++)
                {
                   if (i%j == 0)
                   {
                           flag = 0;
                            break;      //break放在 if 外面结果为什么不对?
                   }
               
                }
                if (flag)
                {
                        count++;
                }
                else
                        flag = 1;
        }
        printf("共有%d个素数", count);
        return 0;
}

ba21 发表于 2019-9-29 14:37:16

你知道break的功能吗?建议你先把他的功能了解清楚

w97676659 发表于 2019-9-29 15:15:17

ba21 发表于 2019-9-29 14:37
你知道break的功能吗?建议你先把他的功能了解清楚

break是跳出最近的一层循环。明白了,如果不放在if语句里面,每次第二层循环一开始,只要不满足if条件就会跳出去。
页: [1]
查看完整版本: break位置问题