哪里错了😣,看不出来

#include<stdio.h>
int main()
{
int a;

for(a=1,a<=100;a++){
    int i;
int isprime=1;    
    
    for(i=2;i<a;i++){
        if(a%i==0){
            isprime=0;
            break;
        }
    }

if(isprime==1){
    printf("%d",a);
}

}
return 0;
}

你第一个for里用的逗号,用分号

如果是c语言的话,是不能再程序中间申明变量
c++就可以


bool prime(long long m)
{
    for (long long i = 2; i * i < m; i++)
    {
        if (m % i == 0)
        {
            return false;
        }
    }
    return true;
}

供参考:

#include<stdio.h>
int main()
{
    int a;
    
    for (a = 1; a <= 100; a++) {//修改 ;   for(a=1,a<=100;a++)
        int i;
        int isprime = 1;

        for (i = 2; i < a; i++) {
            if (a % i == 0) {
                isprime = 0;
                break;
            }
        }
        if (isprime == 1 && a != 1) {//修改 1 不是素数
            printf("%d ", a);
        }
    }
    return 0;
}