C中的一个简单程序需要一些输入

时间:2011-10-09 15:28:33

标签: c

我正在尝试编写一个简单的程序,它要求用户输入一组正整数,并计算输入的所有数字的平均值。当用户输入非正数(如0或-1)时,程序将终止。

这是我的代码。出于某种原因,当我尝试输入第一个输入时,我收到错误,有人可以帮忙吗?

#include <stdio.h>

int main()
{
  int input=0, sum=0,average=0,i=0;

  printf("Please enter positive numbers, enter 0 or -1 to end:\n");

  scanf("%d",input);

  while (input>0) 
  {
    sum+=input;
    i++;
    scanf("%d",input);
  }
  average=sum/i;
  printf("The average is %d",average);
}

1 个答案:

答案 0 :(得分:11)

您需要将变量的地址传递给scanf。试试这个:

scanf("%d", &input);
            ^

另见C FAQ: Why doesn't the call scanf("%d", i) work?