9

指定された文字列に数字のみが含まれているかどうかを確認する方法は?

4

2 に答える 2

21

マクロを使用してisdigit()、文字が数字かどうかを確認できます。これを使用すると、文字列に数字のみが含まれているかどうかをチェックする関数を簡単に作成できます。

#include <ctype.h>

int digits_only(const char *s)
{
    while (*s) {
        if (isdigit(*s++) == 0) return 0;
    }

    return 1;
}

サブミニチュア スタイルの補足: 空の文字列に対して true を返します。この動作が必要な場合とそうでない場合があります。

于 2013-01-20T08:40:51.873 に答える
-3
#include<stdio.h>
void main()
{
    char str[50];
    int i,len = 0,count = 0;
    clrscr();
    printf("enter any string:: ");
    scanf("%s",str);
    len = strlen(str);
    for(i=0;i<len;i++)
    {
            if(str[i] >= 48 && str[i] <= 57)    
            {
                  count++;
            }
    }
    printf("%d outoff %d numbers in a string",count,len);
    getch();
}
于 2013-01-20T09:09:27.737 に答える