EOF怎么不起作用啊

#include
int main(void) {
int i, n, sum, a;
printf("请输入整数个数n和n个整数:\n");

while (scanf_s("%d", &n) != EOF) {
sum = 0;

    for (i = 0; i < n; i++) {

        scanf_s("%d", &a);
        sum += a;
    }
printf("%d\n", sum);

}
    return 0;

}
请问我输入ctrl z和回车后程序没有结束是什么情况?我用的vs,是windows系统。
感谢回答

vs里,ctrl + z , 回车,连续三次才可以。

循环里面也有个输入呀,你是不是输入方式不对
我用Devc++试了,Devc++中的scanf试了没问题!

img

这个属于bug了,正常来说,ctrl+z退出
如果ctrl+z 不行,可以ctrl+c退出