问题
单项选择题
执行语句:cout<<setfill('*')<<setw(10)<<setfill('#')<<left<<123<<"OK"<<end1;后将输出()
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。