迭代求和中的分段错误

时间:2014-09-21 09:46:08

标签: c++ c segmentation-fault

编写程序以读取整数并继续添加数字直到 我们得到一个数字的数字。例如,7976产生2的输出 (7976 - - t 29 - - t 11 - - t 2)

为此,您的main()函数必须调用函数sumdigits(0)才能解决 问题,然后打印最终结果。

我已经解决了这个问题并且逻辑是正确的,我没有得到任何输出当我输入它时它只是移动到下一行。

#include <stdio.h>

sumdigits(int x)
{
  int n = x;
  int y = 0;

  while(n>0) {
    y = y + n % 10;
    n = n / 10;
  }
  return y;
}

int main(void)
{
 int a;

 scanf("%d",&a);

 while(a>10) {
   a=sumdigits(a);
 }

 printf("%d",a);
}

1 个答案:

答案 0 :(得分:1)

问题在于这一行

scanf("%d",a);

应该是

scanf("%d", &a);
//----------^  use &