C 错误:-ld返回了1个退出状态。

C 错误:-ld返回了1个退出状态。,c,linux,C,Linux,在cc函数定义中有一个额外的“;”: Character array is: 231456 s3fgtr wer56t 1233gh Enter character to search for 3 The character 3 occurred 32766 times The (row,column) index pairs for the locations of the character 3 follow: (0,6) (1,6) *** Error in `./42b': dou

cc
函数定义中有一个额外的“;”:

Character array is:
231456 
s3fgtr 
wer56t 
1233gh
Enter character to search for
3
The character 3 occurred 32766 times
The (row,column) index pairs for the locations of
the character 3 follow:
(0,6)
(1,6)
*** Error in `./42b': double free or corruption (top): 0x0000000000bc2010 ***
Aborted (core dumped)
unersame@ubuntu:~$ gcc -o 42b /home/unersame/Desktop/42b.c -std=c99
/tmp/ccl8WvHf.o: In function `main':
42b.c:(.text+0x1f1): undefined reference to `cc'
collect2: error: ld returned 1 exit status

此处的函数声明后有一个分号:

void cc(char a[][NC], int loc[NCC][2], char ch, int *num); {
    int i,j,k,loc[NCC][2],num;
    char ch, arr[NR][NC];
    k0;

这导致它是一个声明,而不是函数的定义。我相信删除分号会使链接器错误消失,但坦率地说,这很难说;如果将代码正确格式化并缩进,您将更容易使用它。

如果在
cctlyUei.o
中调用
cc()
,则需要按照程序参数的顺序在
cclyUei.o
之后指定
42b.c
。您可以省略吗?什么是cctlyUei.o?请格式化您的代码。我错误地复制了visual studio上一次调试尝试中的代码,当前编辑。谢谢你的回复!
void cc(char a[][NC], int loc[NCC][2], char ch, int *num); {
    int i,j,k,loc[NCC][2],num;
    char ch, arr[NR][NC];
    k0;
void cc(char a[][NC], int loc[NCC][2], char ch, int *num); {