通过指针和字符数组的结合写出strcat(字符串拼接
源码如下
效果图
#include<stdio.h>
#include<string.h>
int main(void)
{
char a[20];
char b[20];
char *x=a;
char *y=b;
gets(a);
gets(b);
while(*x)
{
x++;
}
while(*y)
{
*x=*y;
x++;
y++;
}
*x='\0';//非常关键!
puts(a);
puts(b);
}
解析:
首先通过gets获取两个字符串,在申明两个指针分别指向a,b.
因为要将第二个字符串复制到第一个字符串的末端,首先要做的就是遍历字符串a,到其末端。
while(*x)的意思是只要*x!=’\0'循环就一直进行。退出循环后,我们的指针已经到了a字符串的‘\0’处,这是进入第二个循环--while(*y),将第二个字符串开始拼接,直到*y='\0';
重点::这时*y='\0',但是*x不为\0!!字符串没有自己的\0!
我们要将*x赋值为‘\0’,就完成了任务!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)