一个关于break的问题

nclude <stdio.h>
int main()
{
int x;
int cnt=0;
x=1;

while(cnt<50){
    
        int i;
    int isprime=1;
    
    for(i=2;i<x;i++){
        if(x%i==0)
            isprime=0;
        break;
        
        
        
    }
    if(isprime==1){
        cnt++;
        printf("%d\n",x);
    }
    x++;
    
}
return 0;

}
分界线。
ude <stdio.h>
int main()
{
int x;
int cnt=0;
x=1;

while(cnt<50){
    
        int i;
    int isprime=1;
    
    for(i=2;i<x;i++){
        if(x%i==0){
            isprime=0;
        break;
        }
        
        
    }
    if(isprime==1){
        cnt++;
        printf("%d\n",x);
    }
    x++;
    
}
return 0;

}
第一个if那里没用花括号有什么影响(第二个是对的)

img

第一个没有花括号,那么break;不是if的语句体内,因此循环只执行一次就退出了。