while (scanf("%d",&n)!=EOF){ 这里读取了一次n;
scanf("%d",&n); 再次读取n应该是重复读了
还有sum的值应该每次输出之后重新初始化为0;
为什么用EOF呢?而且从键盘获取一个输入好像不是这样写的吧?好久没写C生疏了...
#include
int main (void)
{
int n,k,sum=0;
scanf("%d",&n);
if (n<0)
n=-n;
do{
k=n%10;
n=n/10;
sum+=k;
}
while (n!=0);
printf("%d\n",sum);
return 0;
}