too few arguments for call问题

要写一个4 * 4的矩阵,然后分别求出:
1.对角线元素的和;
2.副对角线元素的积;
3.最大的元素;

我写的代码如下,但是while里第一行a[i] = scanf _ s(); 报错,提示
too few arguments for call,请问是什么问题,应该怎样更正

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a[16], i, x, y, z;

    i = 0;
    while (i <= 15)
    {
        a[i] = scanf_s();
        i++;
    }

    for (i = 0; i <= 15; i++)
    {
        if ((i + 1) % 4 == 0)
            printf("%d\n", a[i]);
        else
            printf("%d ", a[i]);
    }

    x = a[0] + a[5] + a[10] + a[15];
    y = a[3] * a[6] * a[9] * a[12];
    z = a[0];
    for (i = 1; i <= 16; i++)
    {
        if (z < a[i])
            z = a[i];
    }
    printf("%d\n%d\n%d\n", x, y, z);

    system("pause");
    return 0;
}

scanf_s("%d",&a[i]);