c++中char类型变量如何转换成int类型变量?

例子:charstr_tmp;intint_tmp;str_tmp='5';int_tmp=(int)str_tmp;cout<<int_tmp<<endl;输出的是5的... 例子:
char str_tmp;
int int_tmp;
str_tmp='5';
int_tmp=(int)str_tmp;
cout<<int_tmp<<endl;
输出的是5的ASCII码值53,怎么才能让int_tmp==5而不是53呢?
展开
 我来答
xoaxa
推荐于2017-10-08 · TA获得超过8607个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3381万
展开全部
从 char 到 int 属于“从短到长”的转换,而从 int 到 char 则为“从长到短”的转换。
短到长时,系统会自动提升,会将1个字节的char类型数据扩充到4个字节(32位系统),对于无符号类型来说,只将int的最低字节复制为char的值,其余三个字节都为0。
长到短时,只将int的最低字节的内容复制到char类型的变量,三个高位字节被忽略,这在编译时会给出警告,但通过强制类型转换则可以避免警告出现,如 char ch = (char)intvar。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式