为什么要起个名字和标准库的strcat同名?
看看标准库的原型 char* strcat( char* restrict dest, const char* restrict src ),restrict不认识也就算了,const认识吧,明明你不需要修改src,却为什么要求src必须可以修改?
“char *t = " you";” " you"是const char[5]类型,将一个const值赋给non-const值?
“char *s = "I love";” 按照你代码的逻辑,你是要修改s内容的吧,可s现在指向const值
程序代码:
#include <stdio.h>
void your_strcat( char* restrict dest, const char* restrict src )
{
while( *dest ) ++dest;
while( (*dest++=*src++) );
}
int main( void )
{
char s[11] = "I love"; // 因为 "I love you" 长11,所以s至少长11
const char* t = " you";
your_strcat( s, t );
printf( "%s\n", s );
}