char a[5];
while(cin >>a)
cout <<a<<endl;
问题:我定义的a的宽度是5个字符,但是我输入的时候:
输入:123456789(回车)
输出:123456789
为什么我输入了9个字符,a是5个字符让然可以存储呢?
while(cin >>a)
cout <<a<<endl;
问题:我定义的a的宽度是5个字符,但是我输入的时候:
输入:123456789(回车)
输出:123456789
为什么我输入了9个字符,a是5个字符让然可以存储呢?
char a[5];
while(cin >>a)
cout < <a < <endl;
a是如何容下9个甚至更对的字符的?
char a[5];
while(cin >>a)
{
cout <<a <<endl;
cout << b << endl;
}
输入时超过16个字符,看看输出b是多少
输入9个溢出了呗
char a[5];
cin.width(5);
while(cin >>a)
{
cout < <a < <endl;
cout < < b < < endl;
}
这样就正常了
输入:123456
输出:1234
0
56
0
cin的缓冲区在输出时,怎么和a到一起去了呢?
cin.width(2);
while(cin >>a)
{
cout<<a<<endl;
}
这个cin.width(2)的设置,只在第一次输入时起作用。
如下:
输入:123
输出:1 这个是因为cin的width设置为2
23 但是这个的width就是3
输入:123
输出:123 这个就是4了
也就是说cin.width(2)对于流的设置是不能保存状态的了?我是个新手,还请大家多多帮助