看看C语言的问题,scanf一直报错

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
const int n;
scanf_s("%d", &n);
int isp[n+1] = { 0 };
int i, j;

if (n > 1)
{
    for (i = 2; i <= n; i++)
    {
        if (isp[i] == 0)
            for (j = 2 * i; j <= n; j += i)
            {
                isp[j] = 1;
            }
    }
    for (i = 2; i <= n; i++)
    {
        if (isp[i] == 0)
            printf(" % d,", i);
    }
}
else {
    printf("error");
}
system("pause");
return 0;

}

        printf(" % d,", i);

改成

        printf("%d,", i);

你题目的解答代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
    int n;
    scanf_s("%d", &n);
    int isp[n + 1];
    int i, j;
    for (i = 0; i <= n; i++)
        isp[i] = 0;
    if (n > 1)
    {
        for (i = 2; i <= n; i++)
        {
            if (isp[i] == 0)
                for (j = 2 * i; j <= n; j += i)
                {
                    isp[j] = 1;
                }
        }
        for (i = 2; i <= n; i++)
        {
            if (isp[i] == 0)
                printf("%d,", i);
        }
    }
    else
    {
        printf("error");
    }
    system("pause");
    return 0;
}

img

如有帮助,望采纳!谢谢!

麻烦贴出来报的错