[英]Switch Statement Error **control reaches end of non-void function [-Werror=return-type]**
[英]error: control reaches end of non-void function [-Werror=return-type]|
我試圖從while循環中獲取計數器值到主塊。 一切正常,直到我得到涉及的計數器 integer ,現在我收到了這個錯誤:
"error: control reaches end of non-void function [-Werror=return-type]|"
我需要做什么來修復它? 我想從 function 中獲取計數器值到主塊中以使用它並打印它的實際值。
謝謝!
int ScanFunction(char array[ThirtyOne] , int counter){
PrintEnterMessage();
for(int i=0 ; i < ThirtyTwo ; i++)
{
scanf("%c" , &array[i]);
counter++;
if(array[i] == Fourtynine || array[i] == Fourtyeight) array[i] = array[i] - '0'; // This is to convert the numbers from char to int
if(array[i] == Excmark)
{
array[i] = 0;
return counter;
}
}
}
int main(){
char array[ThirtyOne] = {0};
int counter = -1;
ScanFunction(array, counter);
printf("%d, counter is: %d" , array[1], counter);
return 0;
}
ScanFunction()
承諾返回一個int
並且只有在if(array[i] == Excmark)
之后的第二個if
塊被命中時才會這樣做。 您需要在 function 的末尾添加一些其他return
值,以便在未到達if
塊的情況下返回值。
此外,您對ScanFunction()
返回的值不執行任何操作。 你需要給function的output分配一些變量,比如:
counter = ScanFunction(array, counter);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.