'for'之前的语法错误

时间:2011-08-30 21:27:01

标签: c function

我收到错误:“for'之前的语法错误”,我只是不明白为什么?你能解释一下为什么吗?我在代码中几乎没有类似的错误。

#define N 1024

 void Reverse_Binary( double *a, unsigned long Len);

int main()
   // here is error as well: error: syntax error before '{' token
{
 //here are different variables for all code

 buf = malloc(num_items*sizeof(double));

 //here are different functions

 Reverse_Binary(buf,N); 
}

void Reverse_Binary( double *a,unsigned long Len)  
{
    long x, xprim;
    int temp;

    for (x=0; x<Len; x++)
    {
         xprim= rev(x,N);   

         if (xprim > x)
         {
             temp = a[x];
             a[x] = a[xprim];
             a[xprim] = temp;s
         }
     }  
}

3 个答案:

答案 0 :(得分:6)

你错过了主要的结束括号。

在以下位置放置一个括号:

Reverse_Binary(buf,N);

} //that's the missing bracket

同样删除Reverse_Binary函数后的最后一个括号。

答案 1 :(得分:2)

首先检查匹配的括号。当括号丢失时,编译器消息看起来似乎很糟糕,因为代码片段看起来正确。

答案 2 :(得分:1)

它看起来不错,所以我唯一的想法是你有可能看不见的CR字符。 Unix / Linux上的一些编译器不喜欢在Windows / DOS上编辑的文件,它们包含CR / LF(0x0d,0x0a)而不是LF(0x0a)作为行分隔符。 尝试使用vi编辑文件,它可能会在行尾显示补充CR为^ M个字符。