编程论坛
注册
登录
编程论坛
→
C++教室
怎么将char变量的值赋值给int变量里
酣战到底
发布于 2013-05-30 18:33, 3692 次点击
char a=200;
int b;
6 回复
#2
lonmaor
2013-05-30 18:51
b = a;
会静默转换的。
按C++规范点可以写成
b =
static_cast
<
int
>(a);
旧的强制转换方式是
b = (
int
)(a)
[
本帖最后由 lonmaor 于 2013-5-30 18:52 编辑
]
#3
酣战到底
2013-05-30 19:07
回复 2楼 lonmaor
没用啊,结果是-56
#4
qjyzpsy
2013-05-30 19:49
当你定义的a的值不大于于127是楼上的方法是可以的,但超过127就会出错。因为用整数来定义字符型变量,表示的是ASCII码中该整数对应的字符,二ASCII码只有127个 ,所以当定义的整数超过127时,此定义就没有意义,以下操作都会出错!
#5
lonmaor
2013-05-30 21:01
以下是引用
qjyzpsy
在2013-5-30 19:49:23的发言:
当你定义的a的值不大于于127是楼上的方法是可以的,但超过127就会出错。因为用整数来定义字符型变量,表示的是ASCII码中该整数对应的字符,二ASCII码只有127个 ,所以当定义的整数超过127时,此定义就没有意义,以下操作都会出错!
我大意了。没注意定义的a就溢出了。
#6
子楠
2013-05-30 21:56
。
#7
深藏在云端
2017-05-09 12:18
不要用char
用unsigned char a=200;
1