- 博客(1)
- 收藏
- 关注
原创 cin与cin.getline(s)连用时可能出现的错误
在计算机不是直接从屏幕上读取数据,而是将屏幕上的数据读入输入缓冲区中,计算机cpu从输入缓冲区读取数据。当我们运行cin指令时,用户在屏幕上输入n的值,同时还会输入回车键(标记当次输入结束),输入缓冲区将这两个char值都读入。每次执行getline(cin, s)时,计算机会持续读取字符,直到遇到结束符,最终将读取到的字符串赋值给s,并丢弃读取到的结束符。接着运行getline(cin, s),cpu从缓冲区中读取到了char(回车),结束读取,并丢弃回车符,于是s中的内容为空。
2024-10-28 15:45:53 150
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人