c语言vs2019 c6385警告

代码如下:

#include<stdio.h>
#define N 1000
//中位数
int main()
{
    int a[N] = { 0 }, temp;
    int i, n = 0, k, j;
    while ((n<N)&&(scanf_s("%d", &a[n++]) != EOF))
        if (getchar() == '\n')    
            break;
    for (i = 0; i < n - 1; i++)
    {
        k = i;
        for (j = i + 1; j < n; j++)
            if (a[j] < a[k])    k = j;
        if (k != i)
        {
            temp = a[i];
            a[i] = a[k];
            a[k] = temp;
        }
    }
    k = n / 2;
    if (n % 2)
        printf("%d\n", a[k]);
    else
        printf("%d\n", (a[k - 1] + a[k]) / 2);
    return 0;
}

错误警告:

img


上面说错误的是第27行,求解

我把N调小一点试了一下,可以运行的问题不大,就是除以二那里最好用浮点数表示

vs里得格式化输入输出

printf("%d\n",a[k],1);