#pragma warning(disable:4996)

char *search(char*, char *);

void replace(char *, char *, char *);

void main()

{

char text[] = "This is a pen.That is a pencil";

replace(text, "pen", "cap");

printf("%s\n", text);

}


char *search(char*text, char *key)

{

int m, n;

char *p;

m = strlen(text);

n = strlen(key);

for (p = text; p <= text + m - n; p++)

{

if (strncmp(p, key, n) == 0)

return p;

}

return NULL;

}

void replace(char *text, char *key, char *rep)

{

char *p;

int i;

p = search(text, key);

while (p != NULL) {

for (i = 0; i < strlen(rep); i++)

{

p[i] = rep[i];                 <---------- 이부분이 어케 되는지 모르갔으요. 알려주세요

}

p = search(p + strlen(key), key);

}

}

저부분이 이해가 안되여.다르게 짜봐서 돌려봤는데 다 오류났는데 저거는 왜 살아서 돌아가져?