cin读入多行用空格隔开的数字并放进不同vector-利用cin.get()

合并有序链表
输入:
1 6 12 18
3 5 9 20
输出:
1 3 5 6 9 12 18 20


下面所说的忽略也可以理解成丢弃!

首先我们要用cin把用户的输入存入两个数组中。

很简单的一个想法,让cin去缓冲区读数据赋值给num,直到遇到缓冲区中的’\n’(Enter),就跳出本次cin。

我们知道,cin作为一个输入流对象会忽略缓冲区中的空格,Enter和结束符,所以我们要怎么去拿到这个Enter呢(判断换行)?

当我们输入1 6 12 18,按下Enter键,那么字符串“1 6 12 18\n"被存入缓冲区,cin开始从缓冲区读取数据,赋值给num,并放入vector中。

直到读取完18,此时缓冲区中还存在一个字符’\n’,但是假如用下面这种方式是无法读取到这个’\n’的
char ch;
cin>>ch;
因为上面说过,cin会忽略缓冲区中的Enter字符,因此C提供了一个方法从缓冲区中读取Enter字符,即ch=cin.get()或者cin.get(ch),因为cin.get()不会忽略缓冲区中的Enter和空格。

cin读入多行用空格隔开的数字并放进不同vector-利用cin.get()_第1张图片

你可能感兴趣的:(C++面试知识点,c++,cin)