문자열 함수 구현 (int strncmp(char *s1,char *s2,int n)
2010. 3. 30. 17:51ㆍ2010년/연습문제
int strcmp()함수에서 int n값을 받아서 int n은 몇번째 자리까지 비교하는것 이다
#include<stdio.h>
int sys_strncmp(char *s1, char *s2,int n);
int main()
{
char stringA[80];
char stringB[80];
int inum;
gets(stringA);
gets(stringB);
scanf("%d",&inum);
printf("compare string: %d\n",sys_strncmp(stringA,stringB,inum));
return 0;
}
int sys_strncmp(char * s1, char * s2,int n)
{
int inum;
int icnt=0;
while(icnt<n)
{
if(*s1>*s2)
{
inum=1;
break;
}
else if(*s1<*s2)
{
inum=-1;
break;
}
else if(*s1==*s2)
{
if(*s1!='\0'&&*s2=='\0')
{
inum=1;
break;
}
else if(*s1=='\0'&&*s2!='\0')
{
inum=-1;
break;
}
else if(*s1!='\0'&&*s2!='\0')
{
s1++;
s2++;
}
else
{
inum=0;
break;
}
}
icnt++;
inum=0;
}
return inum;
}
'2010년 > 연습문제' 카테고리의 다른 글
문자열 구현함수(char *strnspy(char *s1,char*s2,int n) (0) | 2010.03.30 |
---|---|
문자열 함수 구현 (char *strcpy(char *s1,char *s2) (0) | 2010.03.30 |
문자열 함수 구현(int strcmp(char *s1, char*s2) (0) | 2010.03.30 |
6장 연습문제 11번 (0) | 2010.03.28 |
6장 연습문제 10번 (0) | 2010.03.28 |