rjn*_*son 20
关于什么:
int a_as_int = (int)'a';
Run Code Online (Sandbox Code Playgroud)
Umm*_*mma 15
你在找这个:
int c = some_ascii_character;
Run Code Online (Sandbox Code Playgroud)
或者只是转换而不分配:
(int)some_aschii_character;
Run Code Online (Sandbox Code Playgroud)
use*_*own 14
我同意 Ashot 和 Cwan,但也许您喜欢将像 '7' 这样的 ascii-cipher 转换为像 7 这样的 int?
那我建议:
char seven = '7';
int i = seven - '0';
Run Code Online (Sandbox Code Playgroud)
或者,也许你会收到警告,
int i = (int) (seven - '0');
Run Code Online (Sandbox Code Playgroud)
评论后更正,谢谢。
C 中的 char 值可隐式转换为 int。例如,char c; ... printf("%d", c)打印 的十进制 ASCII 值c,并将int i = c;的 ASCII 整数值放入c中i。您还可以使用 显式转换它(int)c。如果您指的是其他内容,例如如何将 ASCII 数字转换为 int,那就是c - '0',它隐式转换c为 int,然后减去 的 ASCII 值'0',即 48(在 C 中,诸如'0'int 类型的字符常量,而不是 char,由于历史原因)。
使用ASCII转换为整数atoi()函数,该函数接受字符串并将其转换为整数:
#include <stdlib.h>
int num = atoi("23"); // 23
Run Code Online (Sandbox Code Playgroud)
如果字符串包含小数,则数字将被截断:
int num = atoi("23.21"); // 23
Run Code Online (Sandbox Code Playgroud)