CCF 202104-1 灰度直方图 C++

想请问一下程序输入的时候为什么会在所有数据输入完后需要多输入一个数才能启动,结果与最后多出来那个数无关,而且程序运行是正常的,结果也是正确的,但是找不出来是哪里多了一个scanf

img

img

#include <stdio.h>
#define N 256

int main() {
    int n, m, L;
    scanf("%d %d %d", &n, &m, &L);
    int i, j, k;
    int a[N];
    for (i = 0; i < N; i++)
            a[i] = 0;
    for (i = 0; i < n; i++) {
        for (j = 0; j < m; j++) {
            scanf("%d ", &k);
            a[k]++;
        }
    }
    for (i = 0; i < L; i++) {
        printf("%d ", a[i]);
    }
    return 0;
}


13行的空格取消试试

img