69,371
社区成员
发帖
与我相关
我的任务
分享
#include "stdafx.h"
#include "stdio.h"
char * strcat(char * dst, const char * src)
{
char * cp = dst;
while(*cp)
cp++;
while(*cp++ = *src++) //在这里调试不通过
;
return(dst);
}
int main(int argc, char* argv[])
{
char *dst="zhongyuan";
char *str="nihao";
char *str1=NULL;
str1=strcat(dst,str);
printf("%s\n",str1);
return 0;
}
#include "stdlib.h"
#include "stdio.h"
char * strcat(char * dst, const char * src)
{
char * cp = dst;
while(*cp)
cp++;
while(*cp++ = *src++) //在这里调试不通过
;
return(dst);
}
int main(int argc, char* argv[])
{
char dst[20]="zhongyuan";
char *str="nihao";
char *str1=NULL;
str1=strcat(dst,str);
printf("%s\n",str1);
return 0;
}
#include <stdio.h>
char *mystrcat(char *dst, const char * src)
{
char *cp = dst;
while(*cp)
cp++;
while(*cp++ = *src++)
;
return dst;
}
int main(int argc, char* argv[])
{
char dst[100] = "zhongyuan"; /*dst要写入,定义成char *dst = "zhongyuan";是不可以的,这样指向常量区,不能写入*/
char *str = "nihao";
char *str1 = NULL;
str1 = mystrcat(dst, str);
printf("%s\n", str1);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#define __DEBUG
#ifdef __DEBUG
void __Assert(char *expression, char *file, unsigned int line);
#define __ASSERT(f)\
if (f)\
NULL;\
else\
__Assert(#f, __FILE__, __LINE__)
void __Assert(char *expression, char *file, unsigned int line)
{
fflush(stdout);
fprintf(stderr, "assertion failed: %s, FILE %s, LINE %d", expression, file, line);
fflush(stderr);
abort();
}
#else
#define __ASSERT(f) (NULL)
#endif
char *strcat(char *dst, const char *src)
{
char *pDst = dst;
__ASSERT(dst != NULL);
while (*dst++ != '\0')
NULL;
--dst;
while ((*dst++ = *src++) != '\0')
NULL;
return pDst;
}
int main(int argc, char *argv[])
{
char str1[100] = "string 1";
char str2[100] = "+ string 2";
strcat(str1, str2);
printf("%s\n", str1);
system("PAUSE");
return 0;
}