为何这个程序老是显示Undefined symbol '_f2' in module NONAME.C

main()
{
int a[3]={1,2,3};
void f2();
f2(a);
printf("a[0]=%d,a[1]=%d,a[2]=%d\n",a[0],a[1],a[2]);
}
void f1(int x[])
{
x[0]++;
x[1]=x[1]+2;
x[2]=x[2]+3;
printf ("x[0]=%d,x[1]=%d,x[2]=%d\n",x[0],x[1],x[2]);
return;
}

你下边实现的函数名称是 f1(int x[]) 但你 在main函数中 声明和调用函数f2(a), 所以提示错误Undefined symbol '_f2' 未定义的符号f2
正确的写法
void f1(int x[]);
main()
{
int a[3]={1,2,3};

f1(a);
printf("a[0]=%d,a[1]=%d,a[2]=%d\n",a[0],a[1],a[2]);

}
void f1(int x[])
{
x[0]++;
x[1]=x[1]+2;
x[2]=x[2]+3;
printf ("x[0]=%d,x[1]=%d,x[2]=%d\n",x[0],x[1],x[2]);
return 0 ;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-10-10
函数程序提示错误:

你下边实现的函数名称是 f1(int x[]) 但你 在main函数中 声明和调用函数f2(a), 所以提示错误Undefined symbol '_f2' 未定义的符号f2
正确的写法
void f1(int x[]);
main()
{
int a[3]={1,2,3};

f1(a);
printf("a[0]=%d,a[1]=%d,a[2]=%d\n",a[0],a[1],a[2]);

}
void f1(int x[])
{
x[0]++;
x[1]=x[1]+2;
x[2]=x[2]+3;
printf ("x[0]=%d,x[1]=%d,x[2]=%d\n",x[0],x[1],x[2]);
return 0 ;
}
第2个回答  2012-12-29
f2没定义却又调用了,在f2(a)那个语句里;写一个吧!
void f2(int a[3]){printf(”%d,%d,%d“,a[0],a[1],a[2]);}
相似回答