請有人可以給我解釋一下什麼是錯的,爲什麼我收到此錯誤:錯誤:控制可以達到非void函數結束
error: control may reach end of non-void function
我試圖做一個功能linearsearch()
拍攝鍵和表返回如果找到元素的索引。 令人困惑;我是一名初學者,參加cs50在線課程;我以前從未有過這個錯誤。
#include <stdio.h>
#include <string.h>
#include <cs50.h>
int linearsearch(int key, int array[]);
int main(int argc , string argv[])
{
int key = 0;
int table[]={2,4,5,1,3};
printf("%i is found in index %i\n",key,linearsearch(1,table));
}
int linearsearch(int key, int array[])
{
for(int i = 0;i<5;i++){
if(array[i] == key)
{
return i;
}
else{
return -1;
}
}
}
有不從無void函數在這裏返回一個值不適用的錯誤。有*可能*是一個(不正確的)編譯器*警告*雖然。代碼中顯而易見的錯誤在其他地方。 – EOF
可能錯誤是指不從'main'返回一個值(並且編譯器處於C99之前的模式)。錯誤消息應該有一個與其關聯的行號。 –