📜  C程序转换字符为数字(1)

📅  最后修改于: 2023-12-03 14:40:27.186000             🧑  作者: Mango

C程序转换字符为数字

在 C 语言中,我们经常需要将字符类型转换为数字类型。本文将介绍通过 C 代码将字符转换为数字的几种方法。

使用 ASCII 码值

在 ASCII 编码中,每个字符都对应一个数字。因此,我们可以直接使用这个数字来进行字符转换。

#include <stdio.h>

int main(void) {
  char ch = '5';
  int num = ch - '0';

  printf("字符 %c 转换为数字 %d\n", ch, num);
  return 0;
}

代码解释:

  1. 首先,我们定义了一个字符变量 ch,并将其设为字符 '5'
  2. 接着,我们定义了一个整型变量 num,并将其设为 ch - '0'。由于 ch 的 ASCII 码值为 53,而 '0' 的 ASCII 码值为 48,因此 ch - '0' 的结果为 5。
  3. 最后,我们使用 printf 函数输出结果。

输出:

字符 5 转换为数字 5
使用 atoi 函数

在 C 语言中,可以使用 atoi 函数将一个字符串转换为整型。因此,我们可以先将字符转换为字符串,然后再使用 atoi 函数转换为整型。

#include <stdio.h>
#include <stdlib.h>

int main(void) {
  char ch = '5';
  char str[2];
  str[0] = ch;
  str[1] = '\0';
  int num = atoi(str);

  printf("字符 %c 转换为数字 %d\n", ch, num);
  return 0;
}

代码解释:

  1. 首先,我们定义了一个字符变量 ch,并将其设为字符 '5'
  2. 接着,我们定义了一个字符数组 str,将 ch 转换为字符串存入 str 中。
  3. 然后,我们使用 atoi 函数将 str 转换为整型,并将结果存入 num 中。
  4. 最后,我们使用 printf 函数输出结果。

输出:

字符 5 转换为数字 5
使用 sscanf 函数

类似于 scanf 函数,sscanf 函数可以从一个字符串中读取数据。因此,我们可以使用 sscanf 函数将字符转换为整型。

#include <stdio.h>

int main(void) {
  char ch = '5';
  int num;
  sscanf(&ch, "%d", &num);

  printf("字符 %c 转换为数字 %d\n", ch, num);
  return 0;
}

代码解释:

  1. 首先,我们定义了一个字符变量 ch,并将其设为字符 '5'
  2. 接着,我们定义了一个整型变量 num
  3. 然后,我们使用 sscanf 函数将 ch 转换为整型,并将结果存入 num 中。
  4. 最后,我们使用 printf 函数输出结果。

输出:

字符 5 转换为数字 5
总结

本文介绍了三种将字符转换为数字的方法:

  1. 使用 ASCII 码值。
  2. 使用 atoi 函数。
  3. 使用 sscanf 函数。

这些方法都十分简单且易懂,可以根据实际需求选择使用。