编译没有错,可就是运行不出结果.

2025-04-01 03:31:08
推荐回答(2个)
回答1:

while (scanf("%d",&n)!=EOF){ 这里读取了一次n;
scanf("%d",&n); 再次读取n应该是重复读了
还有sum的值应该每次输出之后重新初始化为0;

回答2:

为什么用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;
}