如何在 C 语言中把整数转换为字符

Satishkumar Bharadwaj 2023年1月30日 2020年11月24日
  1. 添加'0'将一个 int 转换为 char
  2. 将一个整型值分配给字符值
  3. sprintf() 转换整型为字符的函数
如何在 C 语言中把整数转换为字符

本教程介绍了如何在 C 语言中把一个整数值转换为字符值,每个字符都有 ASCII 码,所以在 C 语言中已经是一个数字,如果要把一个整数转换为字符,只需添加'0'即可。

添加'0'将一个 int 转换为 char

'0'的 ASCII 值是 48,所以,我们要把它的值加到整数值上,转换成所需的字符。程序如下。

#include<stdio.h>
int main(void)
{
    int number=71;

    char charValue = number+'0';
    printf("The character value is :%c",charValue);

    return 0;
}

输出:

The character value is: w

下面是一个将整数转换成 0 到 9 之间的字符的程序。

#include<stdio.h>
int main(void)
{
    int number=7;  
    char charValue=number+'0';
    printf("The value is :%c",charValue);
    return 0;
}

输出:

The value is: 7

另一个将整数值转换成字符的程序如下:

#include<stdio.h>

int main(void)
{
    char charValue[] = "stringValueX";
    int anyNumber;
    for (anyNumber= 0; anyNumber< 10; ++anyNumber)
    {
        charValue[11] = anyNumber+ '0';
        puts(charValue);
    }
    return 0;
} 

输出:

stringValue0
stringValue1
stringValue2
stringValue3
stringValue4
stringValue5
stringValue6
stringValue7
stringValue8
stringValue9

将一个整型值分配给字符值

另一种将整数值转换为字符值的方法是将一个整数值分配给一个字符值,如下图所示。这里打印出整数值对应的字符值。

#include<stdio.h>

int main(void)
{
    int number = 65;
    char charvalue = number;

    printf("The character value :%c", charvalue); 

    return 0;
}

输出:

The character value : A

下面是另一种将整数值转换为字符值的方法。这里的值是被打出来的, 所以值 67 被转换为相应的 ASCII 值。

#include<stdio.h>
int main(void)
{
    int number = 67;
    char charValue = (char)number;
    printf("The character value = %c", charValue);

    return 0;
}

输出:

The character value = C

sprintf() 转换整型为字符的函数

sprintf() 函数的工作原理与 printf() 函数相同,但它不是将输出发送到控制台,而是返回格式化的字符串。

sprintf() 函数的第一个参数是指向目标字符串的指针。其余参数与 printf() 函数相同。

sprintf() 语法

int sprintf(char *strValue, const char *format, [arg1, arg2, ... ]);

Where,

  • strValue 是指向 char 数据类型的指针。
  • format 是用来显示输出类型和占位符。
  • [arg1, arg2, ...] 是要转换的整数。

函数将数据写入 strValue 指向的字符串中,并返回写入 strValue 的字符数,不包括空字符。返回值一般会被丢弃。如果操作过程中出现错误,则返回 -1。将整数转换为字符的程序如下。

#include<stdio.h>
int main(void)
{
  int number = 72;
  char charValue[1];

  sprintf(charValue, "%c", number);
  printf("The character value = %s", charValue);

  return 0;
} 

输出:

The character value = H

相关文章 - C Integer

相关文章 - C Char