单选题 有以下程序: #include <iostream> using namespace std; int main ( ) { char s1[10],s2[10]; char *p=s1,*q=s2; cin>>s1>>s2; while (*p ! =' /0 ' ) p++; while (*q!='/0') *p++=*q++; *p='/0'; cout<<s1<<end1; return 0; }
【正确答案】 D
【答案解析】[解析] 程序定义两个字符串指针p和q,并使指针分别指向字符串数组s1和s2。数组s1和s2通过输入的字符串赋初值。程序中第1个while语句,用来计算s1的长度,并把指针p移到数组s1的最后一个元素。第2个while语句,是将数组s2中的字符串合并到数组s1的后面。语句“*p'/0';”,是合并后的字符串s1的结束标志。所以最后s1中的字符串为abcdghij。