关于cin.get()的疑问求教

图片说明
为什么cin.get()了之后还是会少了一个“5”

cin.get(a,5)之后
a就是1234\0
cin.get()读取到5这个字符,但是没有变量接收
再cin.get(b,5),因为只有3个字符,全部读取了,b就是678\0
你输出a之后没有换行再输出b,就是1234678
// 接收4个字符+1个'\0'('1', '2', '3', '4', '\0'),并存储到变量a中
cin.get(a, 5);

// 接收单个字符('5')
cin.get(); 

//接收4个字符+1个'\0'('6', '7', '8', '\n', '\0'),并存储到变量b中
cin.get(b, 5);

// 打印变量a和b ('1', '2', '3', '4', '6', '7', '8', '\n')(注:b包含换行符号)
// '\0' 是字符串结束的标示,是打印不出来的
cout << a;
cout << b;