cout输出的右对齐

右对齐为什么对齐不了呢?我不是输入了吗?真的很奇怪呢!
使用的是devcpp版的c++

img

img

如果你想要对齐,应该写成下面形式

cout << left << setw(M) << "XXXXXX" << right << setw(N) << num << '\n';

其中M大于最长字符串的长度,N大于最长数字的长度。每行的M,N必须相同,否则不对齐