在'{'令牌c程序之前的预期表达式

Reg*_*ser 1 c syntax-error

我编写了以下代码,我在编译这段代码时解决了一个难题

#include <stdio.h>
int main ()
{

int a[10],b[10],c[10];
int i,j,k,l;
 a[10]={"21","33","12","19","15","17","11","12","34","10"};
 b[10]={"10","15","9","13","16","21","15","32","29","7"};
 c[10]={"11","8","3","6","1","4","6","20","19","3"};

 l=sizeof(a)/sizeof(a[0]);

for (i=0;i<=l;i++)
 {
 }
}
Run Code Online (Sandbox Code Playgroud)

给我错误

array.c: In function ‘main’:
array.c:7:8: error: expected expression before ‘{’ token
array.c:8:8: error: expected expression before ‘{’ token
array.c:9:8: error: expected expression before ‘{’ token
Run Code Online (Sandbox Code Playgroud)

为什么错误会在这里?

Vla*_*mir 7

您的代码中存在几个问题:

  1. 您应该在声明它们的同一行中初始化数组
  2. 您必须使用数组数组初始化它们,而不是使用c-strings数组:
  3. 您实际上尝试将值设置为数组的第11个元素.

正确的代码行将是:

int a[10] = {21,33,12,19,15,17,11,12,34,10};
Run Code Online (Sandbox Code Playgroud)