为什么这个b数组输入以后再输出显示出来会变成超级大的数,a数组却没有问题?

#include<iostream>
using namespace std;
#define N 5

int main()
{
	int a[N];
	int b[N];
	int i = 0;
	while (cin >> a[i])
	{
		if (cin.get() == '\n')
			break;
		i++;

	}
	for (int k = 0; k < a[i]; k++)
		cout << a[k];
	int j = 0;
	while (cin >> b[j])
	{
		if (cin.get() == '\n')
			break;
		j++;
	}
	cout << j << endl;
	for (int k = 0; k < b[i] + 1; k++)
		cout << b[k];

}

数组第一个数代表数组的长度

初始化没有,越界了也不知道,然后接这样了呗