인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

TaeChoon Park님의 프로필 이미지
TaeChoon Park

작성한 질문수

홍정모의 따라하며 배우는 C언어

11.6 다양한 문자열 함수들

직접 구현해본 implement_my_strcat/strcmp 입니다.

작성

·

182

0

#include <stdio.h>
#include<string.h>
void implement_my_strcat(char*str1,char*str2);

int main(void) {
char str1[100]="First STring";
char str2[]="Second STring";
printf("%ld\n",strlen(str1));
printf("%ld\n",strlen(str2));
implement_my_strcat(str1,str2);
printf("%ld",strlen(str1));

return 0;
}

void implement_my_strcat(char*str1,char*str2)
{
while(*str1!='\0')
{
putchar(*str1);
str1++;
}
while(*str2!='\0')
{ *str1=*str2;
putchar(*str1);
str1++;
str2++;
}
*str1='\0';
putchar('\n');
}
---------------------------------------
#include <stdio.h>
int implement_strcmp(char*str1,char*str2);

int main(void) {
printf("%d\n",implement_strcmp("A","A"));
printf("%d\n",implement_strcmp("A","B"));
printf("%d\n",implement_strcmp("B","A"));
printf("%d\n",implement_strcmp("HELLO","HELLO"));
printf("%d\n",implement_strcmp("BANANA","BANANAS"));
printf("%d\n",implement_strcmp("BANANAS","BANANA"));
return 0;
}

int implement_strcmp(char*str1,char*str2)
{
while(*str1!='\0'||*str2!='\0')
{
if(*str1==*str2)
{
str1++;str2++;
continue;
}
else{break;}

}
if(*str1==*str2)
{
return 0;
}
else if(*str1>*str2)
{
return 1;
}

else if(*str1<*str2)
{
return -1;
}

}
질문으로 올린것은 아니고 ,모범답안과는 차이가 나는데,
교수님이 아니더라도 어느분이시던간에 제가 구현해본 코드가 어떤지 평가해주시면 하는 마음에 올립니다.감사합니다!!

답변 1

0

홍정모님의 프로필 이미지
홍정모
지식공유자

제 코드와 동일할 필요는 전혀 없습니다. 기능이 정확히 작동하는지에 대해 집중하시는게 좋습니다.

TaeChoon Park님의 프로필 이미지
TaeChoon Park

작성한 질문수

질문하기