单选题 编写如下程序:Private Sub Command1_Click() Dim a$, b$, c$, c1$, c2$ a = InputBox("请输入一个字符串") b = InputBox("再输入另一个字符串") c = "" For k = 1 To IIf(Len(a) < Len(b), Len(b), Len(a)) c1 = IIf(k <= Len(a), Mid(a, k, 1), "") c2 = IIf(k <= Len(b), Mid(b, k, 1), "") c = c & c1 & c2 Next k Print cEnd Sub程序运行后,单击命令按钮Command1,然后从键盘依次输入字符串:"12345678"、"ABCDE",则输出结果是
【正确答案】 B
【答案解析】解析:程序定义了a,b,c,c1,c2五个字符串,将"12345678"、"ABCDE"两个输入的字符串赋值分别给a,b,将空字符赋值给c。IIF函数,IIF(条件,True部分,False部分)如果条件为真,IIF函数返回True部分,当条件为假时,返回False部分。程序通过IIf(Len(a) < Len(b), Len(b), Len(a)),求得a,b两个字符串的最大的长度为8,For循环中的k从1到8。在For循环中,通过字符串截取函数Mid,给c1,c2赋值。Mid(s,n1,n2)指从s的第n1个字符开始,向后截取n2个字符。在前五次执行循环体(当k值不大于5时),a、b的第k个字符构成的字符串分别赋值给c1、c2,并将c,c1,c2连接起来赋值给c。当k大于5时,通过Mid函数,将a的第k个字符构成的字符串赋值给c1,空字符串赋值给c2,并将c,c1,c2连接起来赋值给c。5次循环后c="1A2B3C4D5E",在第6次到第8次循环中,c1值依次为"6"、"7"、"8",,完成循环,c为"1A2B3C4D5E678",故选项B正确。