C中字符串的拼接可以采用函数strcat(),若利用函数指针编写,程序如下:
#include "stdio.h"
void fun(char*t,char*s)
{
while(*t!=0) t++;
while((*t++=*s++)!=0);
}
main()
{
char ss[10]="acc",aa[10]="bbxxyy";
fun(ss,aa);
printf("%s,%s\n",ss,aa);
}
-
运行结果:accbbxxyy,bbxxyy;
-
函数fun()的作用是连接两个字符串数组,即把字符串数组aa连接到字符串数组ss后面;
-
原理:字符串数组的数组名表示指向此字符串的首个元素的指针(比如ss指向“a”,对ss进行加一运算后,ss++表示下一个元素“c”,以此类推);
-
fun()函数中,while(*t != 0) t++;表示:当指针t指向的字符不是空字符时,将t加一,使其指向下一个字符;
-
while((*t++ = *s++) != 0);作用:依次复制指针s指向的字符给指针t,通过++操作前进,当赋值结果为0时,表示s指向的字符为空,结束循环。