@[C/C++学习笔记之自定义strcat函数功能)
strcat(*a,const *b)将b字符串连接到a字符串中
利用指针编写
char* strconnect(char *a, char *b)
{
char *c = a;
while (*a!=’\0’)
{
a++;
}
while (*b!=’\0’)
{
*a = *b;
a++;
b++;
}
*a =*b;
return c;
}
注意:
1.定义一个char型指针c让其指向a的首地址;
2.将指针移到字符b要插入到字符a的位置(即末尾字符a—’\0’的位置);
3.可以写while (b!=’\0’)或者while (b);
4.将字符b元素逐个插入到字符a中,同时要确保每插入一次两个字符的指针都要向后移一位;
5.当b=’\0’时,退出循环,**此时要格外注意一个完整的字符串还需要以’\0’结尾,而此时b的指针已经指向了’\0’的位置,只需要加入a =b;这一语句即可。*
调用该函数时需要定义两个字符数组
char a[10] = “aaa”;
char b[10] = “bbb”;
strconnect(a, b);
cout << a << endl;
下面时错误调用1:
char a[] = “aaa”;
char b[] = “bbb”;
strconnect(a, b);
cout << a << endl;
错误调用2
char *a = “aaa”;
char *b = “bbb”;
strconnect(a, b);
cout << a << endl;**
错误分析1:
初始化数组错误?
错误分析2:
用指针定义了数组,但是用cout打印的时候a指的是地址?