问题 单项选择题

执行语句:cout<<setfill('*')<<setw(10)<<setfill('#')<<left<<123<<"OK"<<endl;后将输出

A.123*******OK

B.123#######OK

C.123********OK********

D.123#######OK########

答案

参考答案:B

解析: 本题考核格式控制数据的输入输出。函数setfill(char c)用于设置填充字符,在输出数据时,如果数据宽度小于设置的宽度,则空闲位置要用填充字符填满,设置的填充符一直有效,直到再次设置填充字符为止,如题中调用函数setfill('*')将填充字符设置为'*',后又调用函数 setfill('#')将填充字符设置为'#'。函数setw(int n)用于设置输入输出宽度,宽度设置的效果只对一次输入或输出有效,在完成一次数据的输出或输入后,宽度设置自动恢复为0,如题中语句以宽度10输出数据“123”后,字符串“OK”的输出宽度就自动恢复为0了。而且题中输出的对齐方式为在输出宽度内左对齐。所以最终的输出为123#######OK。

单项选择题
填空题