有如下程序: #inc1ude <iostream> #inc1ude <iomanip> using namespace std; int main(){ int s[]={123, 234}; cout<

admin2019-04-01  25

问题 有如下程序:
    #inc1ude <iostream>
    #inc1ude <iomanip>
    using namespace std;
    int main(){
    int s[]={123, 234};
    cout<<right<<setfill(’*’)<<setw(6);
    for(int i=0; i<2; 1++){ cout<<s<<endl;}
    retum 0;
    }
    运行时的输出结果是(     )。

选项 A、123
B、***123
C、***123
D、***123234    234    ***234    234***

答案B

解析 在输出语句中定义了输出的格式是字符宽度为6,并且向右对齐,不足的位用‘*’补齐。在CH中,输出格式的设置只对第一次输出有效.在完成了一个数据的输出后,宽度设置自动恢复为0(表示按数据实际宽度输出)。所以对于本题来说,在循环语句中输出数组s[0]中的元素时,按照规定的格式输出,其结果为***l23,当输出s[l]时,输出格式已经恢复到按数据实际宽度输出,所以此时输出为234。
转载请注明原文地址:https://kaotiyun.com/show/flAp777K
0

最新回复(0)