菜宁 2021-11-21 09:42 采纳率: 100%
浏览 38
已结题

关于setiosflags()的一个小疑惑

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
    cout<<setw(10)<<3.1415<<endl;
    cout<<setw(10)<<setfill('0')<<3.1415<<endl;
    cout<<setw(10)<<setfill('0')
        <<setiosflags(ios::left)<<3.1415<<endl;
    cout<<setw(10)<<setfill('-')
            <<setiosflags(ios::right)<<3.1415<<endl;
    cout<<endl;
    // return 0;
 
    
    cout<<setw(10)<<setfill('0')<<3.1415<<endl;
    cout<<setw(10)<<setfill('0')
        <<setiosflags(ios::left)<<3.1415<<endl;
    cout<<setw(10)<<3.1415<<endl;
    cout<<setw(10)<<setfill('-')
            <<setiosflags(ios::right)<<3.1415<<endl;
    return 0;
}


上面的第一段代码来自课本,也是正常输出.但第二段的代码我只是将第一行的代码换了个位置,结果却全部都变成右对齐了,(下图)我不理解.!!求解答.

img

  • 写回答

1条回答 默认 最新

  • CSDN专家-link 2021-11-21 09:51
    关注

    哪看出右对齐了?你不是前面都填充内容了么

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月29日
  • 已采纳回答 11月21日
  • 创建了问题 11月21日