C++学习笔记

2018-09-28  本文已影响5人  发现自己是一条咸鱼

字符输出问题

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码。

上一篇 下一篇

猜你喜欢

热点阅读