首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C中字符的转换和打印十进制

C中字符的转换和打印十进制
EN

Stack Overflow用户
提问于 2022-03-20 20:24:43
回答 1查看 46关注 0票数 -3

读取单个字符作为输入后,如何确定它是哪种类型的字符?例如,如何确定字符是数字、字母还是点?

EN

回答 1

Stack Overflow用户

发布于 2022-03-20 21:30:31

您可以使用

  • 用于确定某个字符是否为数字的函数isdigit
  • 用于确定某个字符是否为字母的函数isalpha
  • 用于确定某个字符是否为标点符号的函数ispunct
  • 用于确定某个字符是否为isspace的函数空白字符

您可以找到C标准库这里的所有字符分类函数的完整列表。

如果要将比较限制为"a value“(即不使用任何标点符号),则可以直接将字符的值与'.'进行比较。

代码语言:javascript
复制
#include <stdio.h>
#include <ctype.h>

int main( void )
{
    int c;

    printf( "Please enter a single character: " );
    c = getchar();

    if ( isdigit( c ) )
    {
        printf( "The input is a digit.\n" );
    }
    else if ( isalpha( c ) )
    {
        printf( "The input is an alphabetical letter.\n" );
    }
    else if ( c == '.' )
    {
        printf( "The input is a dot.\n" );
    }
    else if ( ispunct( c ) )
    {
        printf( "The input is a punctuation character.\n" );
    }
    else if ( isspace( c ) )
    {
        printf( "The input is a whitespace character.\n" );
    }
    else
    {
        printf( "The input is not a digit, letter, punctuation or whitespace character.\n" );
    }
}

此程序具有以下行为:

代码语言:javascript
复制
Please enter a single character: j
The input is an alphabetical letter.
代码语言:javascript
复制
Please enter a single character: 7
The input is a digit.
代码语言:javascript
复制
Please enter a single character: .
The input is a dot.
代码语言:javascript
复制
Please enter a single character: ;
The input is a punctuation character.
代码语言:javascript
复制
Please enter a single character:  
The input is a whitespace character.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71550375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档