问题描述
- control may reach end of non void function
-
int find(int num[])
{
for(int i=1;i<10;i++)
{
if(num[i]!=0)
{
return i;
break;
}
}
}
想返回i值,但是总是提示control may reach end of non void function怎么解决呢?
解决方案
数组作为形参时,一般还要有一个长度为形参。
int find(int num[],int n)
{
for(int i=0;i<n;i++)
{
if(num[i]!=0)
{
return i;
//break; 没用,删掉
}
}
}
解决方案二:
错误举例
if语句可能不会执行, 所以可能回没有返回值
解决方案如下
......
答案就在这里:Control may reach end of non-void function
解决方案三:
你试试,如果还有错误,就把代码都贴出来。也许不是这个函数的错误。
int find(int num[],int n)
{
for(int i=0;i<n;i++)
{
if(num[i]!=0)
{
return i;
//break; 没用,删掉
}
}
return i; //这少一个返回值。
}
解决方案四:
你试试,如果还有错误,就把代码都贴出来。也许不是这个函数的错误。
int find(int num[],int n)
{
for(int i=0;i<n;i++)
{
if(num[i]!=0)
{
return i;
//break; 没用,删掉
}
}
return i; //这少一个返回值。
}
时间: 2024-11-03 21:17:58