为什么这个在VS2022上可以成功运行,在OJ上结果错误啊

为什么这个在VS2022上可以成功运行,在OJ上结果错误啊?
判断素数问题


#include <stdio.h>
#include <math.h>
int prime(int n)
{
    int i;
    if (n <=2)return 0;
    for (i = 2; i < n; i++)
     if (n % i == 0)
            return 0;
            return 1;
}
int main()
{
    int n, r;
    printf("input a number:");
    scanf_s("%d", &n);
    r = prime(n);
    {
        if (r==1)
            printf("yes");
        else
            printf("no"); }
    return 0;
}

scanf_s是vc++特有的
oj上修改为scanf