我收到错误:“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
}
}
}
答案 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个字符。