请教以下代码的一个循环问题
#include <stdio.h>#include <ctype.h>
int is_integer(char *str)
{
int i;
for(i=0;str[i]!='\0';i++)
{
if (isdigit(str[i]))
{
continue;
}
else
{
return 0;
}
if (str[i]=='0')
{
return 1;
}
}
}
int main()
{
char str[8];
scanf("%s",&str);
if (is_integer(str)==0)
{
printf("not integer");
}
else
{
printf("integer");
}
return 0;
}
为什么会说'is_integer':not all control paths return a value? 是不是没有成功返还给自定义方程值1,应该怎么修改?还有如果是要不仅仅可以判断是否输入字符串为正整数,而且可以是负整数的话应该怎么调整?
[ 本帖最后由 xking717 于 2012-11-10 16:56 编辑 ]