问题
单项选择题
有以下程序:
#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;
A.abcd0ghij
B.abcd0ghij0
C.abcd
D.abcdghij
答案
参考答案:D
解析: 程序定义两个字符串指针p和q,并使指针分别指向字符串数组s1和s2。数组s1和s2通过输入的字符串赋初值。程序中第1个while语句,用来计算s1的长度,并把指针p移到数组s1的最后一个元素。第2个while语句,是将数组s2中的字符串合并到数组s1的后面。语句“*p’\0’;”,是合并后的字符串s1的结束标志。所以最后s1中的字符串为abcdghij。