该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
试过LZ的程序
在我这里没有错误
唯一的解释是目的dst串的空间不够大来足够容纳新串
看下面的程序
#include
#include "stdio.h"
void str(char* des,const char* src);
void main()
{
char string[80];
strcpy( string, "Hello world from " );
strcat( string, "strc pmmvvmy" );
printf(string);
}
void str(char* dst,const char* src)
{
char * cp = dst;
while( *cp )
cp++; /* find end of dst */
while( *cp++ = *src++ ) ; /* Copy src to end of dst */
/* return dst */
}
这个没问题
#include
#include "stdio.h"
void str(char* des,const char* src);
void main()
{
char string[20];
strcpy( string, "Hello world from " );
strcat( string, "strc pmmvvbbbbbbbbbbbbmy" );
printf(string);
}
void str(char* dst,const char* src)
{
char * cp = dst;
while( *cp )
cp++; /* find end of dst */
while( *cp++ = *src++ ) ; /* Copy src to end of dst */
/* return dst */
}
这个有问题
20个不够容�