为了账号安全,请及时绑定邮箱和手机立即绑定

char ch;是一段字符,为什么++ch输出下一个字母,而ch+1输出其ASCII码+1?

char ch;是一段字符,为什么++ch输出下一个字母,而ch+1输出其ASCII码+1?

C++
xungeer29 2017-10-08 08:11:01
char ch;是一段字符,为什么++ch输出下一个字母,而ch+1输出其ASCII码+1?
查看完整描述

1 回答

已采纳
?
onemoo

TA贡献883条经验 获得超454个赞

你是用 std::cout 来输出的吧?

前置自增运算符会返回操作数的引用

ch 是 char 类型,++ch 返回的是“char引用”,所以 cout 知道这是个 char,它会按照字符来打印它。

而 ch +1 就是一个加法运算表达式,ch 在参与运算时会提升为整型。这样这个表达式的结果就是整型,所以 cout 就会按照整型来看待它,也就是只打印出整型值。

查看完整回答
1 反对 回复 2017-10-08
  • xungeer29
    xungeer29
    是用 std::cout 来输出的,用这个输出与用using......cout输出与什么区别吗?
  • onemoo
    onemoo
    我其实是想问“你是用cout输出的?还是用C风格的printf来输出的?” 只要最终是通过cout来输出就没有区别。 关于我想顺便提醒下using的用法,写在另一个回答中了。
  • 1 回答
  • 0 关注
  • 2534 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信