问题 单项选择题

有如下程序: #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个填充字符‘#’。

问答题 简答题
单项选择题