c/c++ 字符转换

输入a b输出为什么会有一个10结尾呢?
输出为:

97
a
32
 
98
b
10
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
    int chr;
    while ((chr = getchar()) != EOF)
    {
        cout<<chr<<endl;
        if (char(chr))
        {
            cout<<char(chr)<<endl;
        }
    }

    return 0;
}
阅读 2k
2 个回答

当你输入97之后回撤这个时候其实是输入了三个字符:9 、7 、 换行, 所以会出现以下输出:
97
57 -> 数字9的ascii码
9 -> 数字9字符
55 -> 数字7的ascii码
7 -> 数字7字符
10 -> 换行符ascii码
-> 这里是一个换行符

新手上路,请多包涵

一般要加一个get()来去掉换行符

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题