isdigit関数
概要
C言語で文字が10進数の数字か判定する関数です。
10進数の数字なら真(0以外)、それ以外なら偽(0)を返します。
<ctype.h>
を#include
することによって使うことができます。
定義
定義は次の通りになります。
int isdigit (int c);
機能 | 型 | 内容 |
---|---|---|
第1引数 | int |
検査対象の文字 |
返り値 | int |
10進数の数字なら真(0以外)、 それ以外なら偽(0) |
仕様
ISO/IEC 9899:1999 における仕様を示します。
7.4.1.5 The isdigit function
Synopsis
1 #include <ctype.h>
int isdigit(int c);
Description
2 The isdigit function tests for any decimal-digit character (as defined in 5.2.1).
また、JIS X 3010:2003 における仕様を示します。
7.4.1.5 isdigit 関数
形式 #include <ctype.h>
int isdigit(int c);
機能 isdigit 関数は,10 進数字(5.2.1 で定義)かどうかを判定する。
使用例
#include <stdio.h> #include <stdlib.h> #include <ctype.h> int main() { char c; system("cls"); printf(" 0123456789ABCDEF"); for(c = 0x00; c < 0x7F; c++) { if (c % 16 == 0) printf("\n%x ", c / 16); printf("%s", isdigit(c) ? "\033[41m" : "\033[0m"); printf("%c", isprint(c) ? c :'.'); printf("\033[0m"); } printf("\n"); return 0; }
結果は以下のようになります。
./islower.exe 0123456789ABCDEF 0 1 2 3 0123456789 4 5 6 7
真のときに文字が表示されているように見えますが、 実際には赤い背景色が文字を囲んでいます。
コンパイラはEmbarcadero C++ 7.20
です。
bcc32c --version Embarcadero C++ 7.20 for Win32 Copyright (c) 2012-2016 Embarcadero Technologies, Inc. Embarcadero Technologies Inc. bcc32c version 3.3.1 (35832.6139226.5cda94d) (based on LLVM 3.3.1) Target: i686-pc-win32-omf Thread model: posix
実装例
int isdigit (int c) {return '0' <= c && c <= '9';}
最悪計算時間 | 最良計算時間 | 平均計算時間 | 最悪空間計算量 |
---|---|---|---|
最終更新日: 2018-05-24