C++学习笔记

字符输出问题

char ch;
cout << "Type, and I shall repear.\n";
cin.get(ch);
while (ch != '.')
{
    if (ch == '\n')
        cout << ch;
    else
        cout << ++ch;
    cin.get(ch);
}

此时,程序的输出是字符。当将程序中的代码改为cout<<ch+1;则输出的是该字符的ASCII码。
原因:
1.输出字符:对于变量经过自增运算符(++),输出变量仍然是char类型,因此输出的是字符。
2.输出ASCII码:ch+1编译器会将char类型转换为int类型进行运算。其结果是int类型,因此输出的是ASCII码。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一章 计算机与C++编程简介 C++程序6个阶段编程 ->预处理->编译->连接->装入->执行1.程序在编译器...
    rogertan30阅读 9,721评论 0 1
  • ^函数重载的匹配: 当函数名被重载后,函数的匹配过程:首先寻找能精确匹配的函数,如果未能精确匹配,则尝试...
    鲁大帅阅读 4,685评论 0 1
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 8,838评论 0 2
  • 西伯侯爵阅读 1,215评论 0 0
  • 一 电视剧《士兵突击》让我印象深刻的地方有两个,一个是电视剧中自始至终贯穿的不抛弃不放弃精神,另一个就是士兵许三多...
    梁军年阅读 1,774评论 0 1