c语言中,怎样把内容为数字的char转换为int?

2024-12-19 11:27:30
推荐回答(5个)
回答1:

内容为数字的char,包含
0,1,2,3,4,5,6,7,8,9
共计10个字符。
这十个字符在存为字符型时,其存储值为对应的ascii码,而这些ascii码是连续的,且按照其本身数字的大小来排列。
这样就可以将字符值,减去起始ascii码值实现转为对应值的效果。

int a; //转换的目标变量。
char c = '7'; //要转换的字符。
c = a - '0';
这样得到的就是对应的值了,即c = 7。
如果在文件中需要多次该操作,则可以定义一个带参宏,如下:
#define chartonumber(x) (x-'0')
这样只需要调用
c = chartonumber(a);
即可实现效果。

回答2:

atoi是将数字的char*字符串转化为int型

将数字的char转换为int,直接输出int格式的char型就行,或者a-'0',ine和char是可以根据ASCII码进行隐式转换的

ASCII码表

http://www.weste.net/tools/ASCII.asp

回答3:

本质上char类型和int其实是同一种类型。。。都代表了整数型大小,转换的话,在前面加上强制转换符就好了,如int()之类的

回答4:

a-'0'
就行

回答5:

x = (int)(unsigned char)c;