【发布时间】:2022-07-02 16:49:22
【问题描述】:
我在想setw 算法(空间计数) 是如何工作的。例如,当有 1 个\t 时,我想用四个空格打印a,我使用\t 并将\t 与setw 进行比较。
我写的代码:
# include <iostream>
# include <iomanip>
int main()
{
std::cout<<"\t"<<"a\n";
std::cout<<std::setw(9)<<"a\n";
return 0;
}
输出:
a // This is 1 '\t'
a // This is setw()
所以我认为是这样的:
setw(18) = \t\t
听起来合乎逻辑吧?但是当我尝试这段代码时:
# include <iostream>
# include <iomanip>
int main()
{
std::cout<<"\t\t"<<"a\n";
std::cout<<std::setw(18)<<"a";
return 0;
}
它给了我这个输出:
a
a
怎么了?
【问题讨论】: