这段输出前50的素数代码哪里有错吗

#include <stdio.h>

int main(int argc, char **argv) {
int i;
int x;
int isprime=0;
int cnt=0;
for(x=2;cnt<50;x++){
for(i=2;i<x;i++){
if(x%i==0){
isprime=0;
break;
}
}
if(isprime==1){
printf("%d",x);
cnt++;
}
}
return 0;

x<50