大一的C语言,不知道哪出了问题

求N个数之和
int s=0,n; //s放到这些数的和,开始为零
while(scanf("%d",&n)!=EOF)
s=s+n; //每输入一个数,就加一次到中
printf("%d\n",s); //输入这些数的和

抄的书上的代码,但输入了几个数却求不出来结果。求解,谢谢。

代码没有问题

#include<stdio.h>
int main()
{

    int s=0,n; //s放到这些数的和,开始为零
    while(scanf("%d",&n)!=EOF)
    s=s+n; //每输入一个数,就加一次到中
    printf("%d\n",s); //输入这些数的和
    return 0;
}

img


你要输入数字之后,按ctrl+z然后再按enter结束输入,才能有结果

eof是文件的结束符
EOF 是 -1 ,-1是两个字符,所以要根据系统来使用组合键,一般是ctrl+d,ctrl+z

你好,同学

#include <stdio.h>
int main()
{
int s=0,n; //s放到这些数的和,开始为零
while(scanf("%d",&n)!=EOF)
s=s+n; //每输入一个数,就加一次到中
printf("%d\n",s); //输入这些数的和
}

我这里可以运行
你只需要输入几个数字之后,ctrl+shift+z(ctrl+z也行)然后再按enter结束,就有结果了

#include<stdio.h>
int main()
{
    int n,tot,s;
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        scanf("%d",&s);
        tot+=s;
    }
    printf("%d",tot);
    return 0;
}