问题
单项选择题
有如下程序:
#include <iostream>
using namespace std;
int main() cout.fill('*');
cout.width(6);
cout.fill('#');
cout<<123<<end1;
return 0; 执行后的输出结果是
A) ###123
B) 123###
C) ***123
D) 123***
答案
参考答案:A
解析: 本题考核I/O的格式化输出。语句“cout.fill('*');”表示填充字符为‘*’,并且一直有效,直到再次设置填充字符为止。语句“cout.width(6);”用来设置输入输出宽度,当实际数据宽度小于指定的宽度时,多余的位置用填充字符填满;当实际数据的宽度大于设置的宽度时,仍按实际的宽度输出。语句“cout.fill('#');”表示将填充字符改为‘#’(即把之前设置的‘#’改为‘#’),由于数据“123”的实际宽度小于6,由于输出的初始状态为在输出宽度内右对齐,所以前面将会有3个填充字符‘#’。