strcat自实现的三种方法
#include "stdafx.h"
#include <string.h>
int _tmain(int argc, _TCHAR* argv[])
{
char firstName[30] = "jim";
char lastName[30] = "Green";
#if 0
方法一:
char* p = firstName;
char* q = lastName;
while (*p != '\0') p++; //得到p指向'\0'的位置
while (1)
{
if (*q != '\0')
*p = *q;
if (*q == '\0')
{
*p = *q;
break;
}
p++; q++;
}
printf("%s\n", firstName);
方法二:
char* p = firstName;
while (*p != '\0') p++; //p为得到jim的\0位置
char* q = lastName;
for (; *p = *q; p++, q++); //中间条件为,右给左赋值后
//判断左值是否等于0 不为0则继续执行
printf("%s\n", firstName);
方法三:
char* p;
for (p=firstName; *p != '\0'; p++);
for (char* q = lastName; *p = *q; p++, q++);
printf("%s\n", firstName);
#endif
strcat(firstName, lastName); //系统函数 将俩个字符串连接起来
printf("%s\n", firstName);
//指针++的位置问题
char text[] = "bbbbbbb";
char *t = text;
while (*t != 'b') t++; //t++在外,循环结束时t指向第一个b的位置
printf("t=%p text=%p\n", t, text);
t = text;
while (*t++ != 'b'); //t++在内,循环结束时t指向第二个b的位置
printf("t=%p text=%p\n", t, text);
return 0;
}