判断字符串是否全是数字

怎么才能保证,输入的字符串全是数字时返回1呢

img

#include <stdio.h> 
#include <string.h>
int shuzi(char text[ ])
{
    int len;
    len=strlen(text);
    for(int i=0;i<len;i++)
    {
        if(text[i]>='0'&&text[i]<='9')
        {
             return 1;
        }
        else
        {
            return 0;
        }
    }
        
}
    
int main(void)
{
   char text[80];
   printf("请输入检查的字符串:\n");
   gets(text);
   int n=shuzi(text);
   printf("%d",n);
}


修改如下:

#include <stdio.h> 
#include <string.h>
int shuzi(char text[ ])
{
    int len;
    len=strlen(text);
    for(int i=0;i<len;i++)
    {
        if(text[i] < '0' || text[i] > '9')
        {
             return 0;
        }
    }
    return 1;
}
    
int main(void)
{
   char text[80];
   printf("请输入检查的字符串:\n");
   gets(text);
   int n=shuzi(text);
   printf("%d",n);
}

img


如有帮助,欢迎点赞+采纳哈!

把返回语句提到函数最后。

#include <stdio.h> 
#include <string.h>
int shuzi(char text[ ])
{
    int len;
    len=strlen(text);
    for(int i=0;i<len;i++)
    {
        if(text[i]>='0'&&text[i]<='9')
        {
        }
        else
        {
            return 0;
        }
    }
    return 1;
}
int main(void)
{
   char text[80];
   printf("请输入检查的字符串:\n");
   gets(text);
   int n=shuzi(text);
   printf("%d",n);
}