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

Tua*_*yen 0 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);
}
Run Code Online (Sandbox Code Playgroud)

cni*_*tar 11

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

scanf("%d", &input);
            ^
Run Code Online (Sandbox Code Playgroud)

另请参阅C FAQ:为什么呼叫scanf("%d", i)不起作用?