-C 中的 Wimplicit 函数声明
-Wimplicit-function declaration in C
我不明白这是怎么隐含的我 return 每个函数中都有一个 int,而且它们都在 main 函数之前。老实说,第一次看到这个有人给我发了一段很长的调试代码,有很多错误,但为什么这不起作用,我错过了什么
int findString(char matrix[ROW][COLUNM],char str1[],int length){
int left,right,top,down,result;
left=left2_right(matrix,str1,length);-THESE 4 CALLS GIVE THE WARNINGS
right=rigth2_left(matrix,str1,length);
top=top_bottom(matrix,str1,length);
down=bottom_top(matrix,str1,length);
if(left != -1 ){result=left;}
if(right != -1 ){result=right;}
if(top != -1 ){result=top;}
if(down != -1 ){result=down;}
return result;
}
这是函数之一
int left2_right(char matrix[ROW][COLUNM],char str1[],int length){
int i = 0, j, counting = 0, wordcnt;
//int length = computeLength(str1); //returns legth of string
int index = -1;
for (i = 0; i < ROW; i++)
{
for (j = 0; j < COLUNM; j += 1)
{
if (matrix[i][j] == str1[0])
{ counting = 0;
for (wordcnt = 0; wordcnt < length; wordcnt++)
{
if (matrix[i][j + wordcnt] == str1[wordcnt])
{
counting++;
}
}
if (counting == length)
{
index = (i *12) + j;
}
}
}
}
return index;
}
其他功能排在 main
功能之前是不够的。每个函数必须在它被用于任何其他函数之前出现。您可能在解释警告的其他 4 个函数之前定义了 findString
。
要么重新排序函数,以便在其他地方使用它们之前定义它们,要么声明源文件顶部的函数,这样相对顺序就不会事.
我不明白这是怎么隐含的我 return 每个函数中都有一个 int,而且它们都在 main 函数之前。老实说,第一次看到这个有人给我发了一段很长的调试代码,有很多错误,但为什么这不起作用,我错过了什么
int findString(char matrix[ROW][COLUNM],char str1[],int length){
int left,right,top,down,result;
left=left2_right(matrix,str1,length);-THESE 4 CALLS GIVE THE WARNINGS
right=rigth2_left(matrix,str1,length);
top=top_bottom(matrix,str1,length);
down=bottom_top(matrix,str1,length);
if(left != -1 ){result=left;}
if(right != -1 ){result=right;}
if(top != -1 ){result=top;}
if(down != -1 ){result=down;}
return result;
}
这是函数之一
int left2_right(char matrix[ROW][COLUNM],char str1[],int length){
int i = 0, j, counting = 0, wordcnt;
//int length = computeLength(str1); //returns legth of string
int index = -1;
for (i = 0; i < ROW; i++)
{
for (j = 0; j < COLUNM; j += 1)
{
if (matrix[i][j] == str1[0])
{ counting = 0;
for (wordcnt = 0; wordcnt < length; wordcnt++)
{
if (matrix[i][j + wordcnt] == str1[wordcnt])
{
counting++;
}
}
if (counting == length)
{
index = (i *12) + j;
}
}
}
}
return index;
}
其他功能排在 main
功能之前是不够的。每个函数必须在它被用于任何其他函数之前出现。您可能在解释警告的其他 4 个函数之前定义了 findString
。
要么重新排序函数,以便在其他地方使用它们之前定义它们,要么声明源文件顶部的函数,这样相对顺序就不会事.