用C语言,怎么样判断一个字符串是不是纯数字

2025-04-03 01:24:28
推荐回答(2个)
回答1:

C 语言没有bool类型的。。。

#include
#include
int isnum(char s[]){
    int i;
    for(i=0;i        if(s[i]<'0'||s[i]>'9'){return 0;}}
    return 1;
}
int main(){
    int i;
    char s[100];
    while((s[i++]=getchar())!='\n');
    s[i-1]='\0';
    if(isnum(s)) printf("%s是纯数字\n",s);
    else printf("%s不纯\n",s);
    return 0;
}

[willie@bogon zhidao]$ gcc isdigit.c -o isdigit.o

[willie@bogon zhidao]$ ./isdigit.o 

12312234

12312234是纯数字

[willie@bogon zhidao]$ ./isdigit.o 

sd

sd不纯

回答2:

#include
bool isNumber(char* str)
{
    for(int i=0;str[i]!='\0';i++)
    {
        int dist=str[i]-'0';
        if(dist<0 ||dist >9) return false;
    }
    return true;
}
int main()
{
    char s[]="345678";    
    isNumber(s)? printf("yes"):printf("no");
    
}