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

我编写了以下代码,我在编译这部分代码时正在解决这个问题

#include  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++) { } } 

给我错误

 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 

为什么错误会在这里?

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

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

正确的代码行将是:

 int a[10] = {21,33,12,19,15,17,11,12,34,10}; 

您将数组的第11个元素设置为数组。

试试这个:

 int a[10] = {21,33,12,19,15,17,11,12,34,10}; 
  • 类型不匹配:您正在将字符文字字符串设置为int 。 这是禁忌。

  • 您正在访问一个超过数组末尾的错误 – 一个经典的逐个错误。

这是int数组,不要为数字添加qoutes

 c[10]={11,8,3,6,1,4,6,20,19,3};