C++ 中 setiosflags(ios::left) 和 setiosflags(ios::right) 简单问题

#include <iostream>#include <iomanip>using namespace std;int main (){ int x,y; for (x=1;x<=9;x++){ cout<<setiosflags(ios::right)<<setw(7*(x-1))<<""; for (y=x;y<=9;y++){ cout<<x<<"*"<<y<<"="; cout<<setiosflags(ios::left)<<setw(3)<<x*y; } cout<<endl; } system("pause"); return 0;}每个式子的结果为什么是右对齐??高手请指教
2026年09月27日 03:07
有4个网友回答
网友(1):

使用cout<而且,你完全可以清除最上面的setiosflags(ios::right)语句,我不知道为什么要加上这句,因为输出的是空的,在这样设置是没有任何作用的,去掉这个这只右对齐以后其他的不用改也是正确的。还有也可以使用cout.flags(ios::left)设置左对齐。

网友(2):

使用cout<cout<cout<cout<cout<而且,你完全可以清除最上面的setiosflags(ios::right)语句,我不知道为什么要加上这句,因为输出的是空的,在这样设置是没有任何作用的,去掉这个这只右对齐以后其他的不用改也是正确的。还有也可以使用cout.flags(ios::left)设置左对齐。

网友(3):

8会,c里面加-就行拉,嘎嘎

网友(4):

我原来也遇到过。。。用了一个unsetf()试试。。。期待答复。。