第二次输出为什么这么诡异?
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int line = 6;
char ch = '*';
cout << setfill(ch) << setw(line) << ch << endl;
cout << ch << setw(line - 1) << ch << endl;
return 0;
}
https://i.loli.net/2019/04/07/5ca8d21a450f7.jpg
https://i.loli.net/2019/04/07/5ca8d21a6c3e5.jpg
头疼一个小时了 😂,希望大佬能伸出援手
1
jinqzzz OP |
2
Yvette 2019-04-07 00:58:52 +08:00 via iPhone 1
问问题的时候应该先说出你的疑惑在哪,这样大家才好回答你,而不是抛出一个本来就正确的结果。
我猜你可能以为 setfill 不会作用到第二行?你可以试试把代码重构成 cout.setfill(ch); cout.setw(line); 的形式,这样可能更容易理解 |
3
jinqzzz OP @Yvette 谢谢大佬,铜币感谢。确实我以为 setfill 不会作用到第二行
我想用 setw 在第二行输出 星号 四个空格 星号,应该怎样修改呢 |