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

admin2020-11-11  25

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

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

答案B

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

最新回复(0)