表达式必须具有指针对象类型

时间:2016-03-09 05:15:50

标签: c arrays

当我尝试构建这段代码时,它给出了错误“表达式必须在第43行上的指针对象类型和总和[i]中的i以及错误”下标需要数组或指针类型“在第51行再次在sum [i]上。我怎样才能解决这个问题,以便我可以构建这段代码?

#include <stdio.h>
#include <math.h>

#define SIZE 5

int main()
{
   int i;
   int sum;
   int c[SIZE] = { 29, 28, 25, 9, 4 };
   int d[SIZE] = { 1, 3, 5, 7, 9 };

   for (i = 0; i < SIZE; ++i)
   {
      printf("Enter c[%d] \n", i);
      scanf_s("%d", &c[i]);
   }

   for (i = 0; i < SIZE; i++)
   {
      printf("c[%d] = %d and d[%d] = %d\n", i, c[i], i, d[i]);
   }

   sum = 0;
   for (i = 0; i < SIZE; i++)
   {
      sum[i] = d[i] + c[i];
   }

   for (i = 0; i < SIZE; i++)
   {
      printf ("sum[%d] = %d \n", i, sum[i]);
   }

   return;
}

1 个答案:

答案 0 :(得分:2)

  

我如何解决这个问题,以便我可以构建此代码?

也使sum成为一个数组。

int sum[SIZE];

另外,修复return语句。让它返回int

return 0;

您也可以完全省略return声明。