数组初始值设定项必须是初始化列表或宽字符串文字

时间:2017-11-03 11:11:17

标签: c gcc

当我尝试编译和运行时出现此错误,我对编程完全陌生我不知道该怎么做请帮我这个?我从一个视频中得到了这个,看起来我已经完成了他的所作所为,但它没有工作继承视频 https://www.youtube.com/watch?v=-CpG3oATGIs&t=6243s

#include <stdio.h>
#include <stdlib.h>

int getSum(int *array_val,int size)
{
    int sum=0;

    for(int i=0;i<size;i++)
    {
        sum += array_val[i];
    }
    return sum;

}

int main()
{
    int my_array[5]=(10,20,30,40,50);
    int mySum = getSum(my_array,5);

    printf("the value of my sum is= %d",mySum);
}

错误讯息:

  

错误:数组初始化程序必须是初始化列表或宽字符串文字
  int my_array [5] =(10,20,30,40,50);           ^

3 个答案:

答案 0 :(得分:3)

问题在于这句话:

int my_array[5]=(10,20,30,40,50);

括号错误。 这样做:

int my_array[5]={10,20,30,40,50};

答案 1 :(得分:3)

对于初始化,您需要{}而不是()

如果您将行更改为

,代码将编译
int my_array[5] = {10,20,30,40,50};
//OR
int my_array[] = {10,20,30,40,50};

答案 2 :(得分:0)

尝试int my_array [5] = {10,20,30,40,50};