C程序设计语言》第二版的习题5.1:用指针的方式实现strcat即字符串连接函数。
这个是可以实现的
#include <stdio.h>
void strcatp(char *s, char *t);
int main()
{
char s[] = "Hello";
char t[] = " world!";
strcatp(s, t);
printf(s);
return 0;
}
void strcatp(char *s, char *t){
while(*s)
s++;
while(*s++ = *t++)
;
}
输出结果为Hello world!
而这种却不行?
#include <stdio.h>
void strcatp(char *s, char *t);
int main()
{
char s[] = "Hello";
char t[] = " world!";
strcatp(s, t);
printf(s);
return 0;
}
void strcatp(char *s, char *t){
while(*s++)
;
while(*s++ = *t++)
;
}
输出结果:Hello