问题 填空题

下列程序中的函数strcpy2()实现字符串两次复制,即将t所指字符串复制两次到s所指内存空间中,合并形成一个新字符串。例如t所指字符串为efgh,调用strcpy2后,s所指字符串为efghefgh。请填空。
#include<stdio.h>
#include<string.h>
void strcpy2(char*s,char*t)
char*P=t;
while(*s++=*t++);
s= (12)
while( (13) =*P++);

main()
char str1[100]="ahcd",str2[]="efgh";
strcpy2(str1,str2);printf("%s\n",str1);

答案

参考答案:s++

解析: 语句“while(*s++=*t++);”实现将t所指字符复制到s所指内存空间,为使得复制结束时指针s指向该字符串结尾,下一条程序语句应为s=s-1,再执行类似复制操作,实现将t所指字符复制两次到s所指内存空间。

名词解释
单项选择题