C语言control reaches end of non-void function [-Wreturn-type]

问题遇到的现象和发生背景

可以运行但是control reaches end of non-void function [-Wreturn-type]

用代码块功能插入代码,请勿粘贴截图

int checkf(char* a)
{
int i;
for(i=0;i<=strlen(a);i++)
{
if(a[i] == '.' && a[i+1] == '.')
{
return 1;
}
else if(a[i] == '.' && a[i+1] == '-')
{
return 1;
}
else if(a[i] == '.' && a[i+1] == '')
{
return 1;
}
else if(a[i] == '-' && a[i+1] == '.')
{
return 1;
}
else if(a[i] == '-' && a[i+1] == '-')
{
return 1;
}
else if(a[i] == '-' && a[i+1] == '
')
{
return 1;
}
else if(a[i] == '' && a[i+1] == '.')
{
return 1;
}
else if(a[i] == '
' && a[i+1] == '-')
{
return 1;
}
else if(a[i] == '' && a[i+1] == '')
{
return 1;
}
else
{
return 0;
}

}

}

运行结果及报错内容

control reaches end of non-void function [-Wreturn-type]

我的解答思路和尝试过的方法
我想要达到的结果

检查一下是否每个控制流都会有返回值,不过一般都是warning不影响程序的执行