用VC++6.0运行程序时出现如下错误:error C2065: 'x' : undeclared identifier 还有y,n,sign都是这个错误

有哪位大哥知道是怎么回事吗,帮帮我,程序如下:
#include "math.h"
void fft(x,y,n,sign)
int n,sign;
double x[],y[];
{
int i,j,k,l,m,n1,n2;
double c,c1,e,s,s1,t,tr,ti;
for(j=1,i=1;i<16;i++)
{
m=i;
j=2*j;
if(j==n) break;
}
n1=n-1;
for(j=0,i=0;i<n1;i++)
{
if(i<j)
{
tr=x[j];
ti=j[j];
x[j]=x[i];
y[j]=y[i];
x[i]=tr;
y[i]=ti;
}
k=n/2;
while(k<(j+1))
{
j=j-k;
k=k/2;
}
j=j+k;
}
n1=1;//这地方不确定啊
for(l=1;l<=m;l++)
{
n1=2*n1;
n2=n1/2;
e=3.14159265359/n2;
c=1.0;
s=0.0;
c1=cos(e);
s1=-sign*sin(e);
for(j=0;j<n2;j++)
{
for(i=j;i<n;i+=n1)
{
k=i+n2;
tr=c*x[k]-s*y[k];
ti=c*y]k]-s*x[k];
x[k]=x[i]-tr;
y[k]=y[i]-ti;
x[i]=x[i]+tr;
y[i]=y[i]+ti;
}
t=c;
c=c*c1-s*s1;
s=t*s1+s*c1;
}
}
if(sign==-1)
{
for(i=0;i<n;i++)
{
x[i]/=n;
y[i]/=n;
}
}
}

#include "math.h"
void fft(int x[],int y[],int n,int sign);
int n,sign;
double x[10],y[10];
void main()
{
int i,j,k,l,m,n1,n2;
double c,c1,e,s,s1,t,tr,ti;
for(j=1,i=1;i<16;i++)
{
m=i;
j=2*j;
if(j==n) break;
}
n1=n-1;
for(j=0,i=0;i<n1;i++)
{
if(i<j)
{
tr=x[j];
ti=y[j];
x[j]=x[i];
y[j]=y[i];
x[i]=tr;
y[i]=ti;
}
k=n/2;
while(k<(j+1))
{
j=j-k;
k=k/2;
}
j=j+k;
}
n1=1;//这地方不确定啊
for(l=1;l<=m;l++)
{
n1=2*n1;
n2=n1/2;
e=3.14159265359/n2;
c=1.0;
s=0.0;
c1=cos(e);
s1=-sign*sin(e);
for(j=0;j<n2;j++)
{
for(i=j;i<n;i+=n1)
{
k=i+n2;
tr=c*x[k]-s*y[k];
ti=c*y[k]-s*x[k];
x[k]=x[i]-tr;
y[k]=y[i]-ti;
x[i]=x[i]+tr;
y[i]=y[i]+ti;
}
t=c;
c=c*c1-s*s1;
s=t*s1+s*c1;
}
}
if(sign==-1)
{
for(i=0;i<n;i++)
{
x[i]/=n;
y[i]/=n;
}
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-04-16
你运行了吗,第一个大括号没道理啊追问

运行了,就是有好多错误,这程序都是书上的,是一本叫《数字信号处理C语言程序集》这书上的。

追答

楼上的程序可以运行啊,没有错误,你就是少了个主函数嘛,预处理语句后加一个void main()就可以了呀