헤더는 include<string.h>
- strcmp(문자열 A, 문자열 B) 는 A와 B를 비교하는 것이다.
A>B 일때 양수
A=B 일때 '0'
A<B 일때 음수로 나온다.
이때 비교는 아스키 코드값으로 비교한다.
만약 char A[4]: "abc" , char B[4] : "def" 면 A<B 이다.
#include<stdio.h>
int main()
{1
char A[] = "Happy day";
char A[] = "Happy day";
char B[] = "Happy day";
if(A == B)
{
printf("두 문자열은 같다. \n");
}
else
{
printf("두 문자열은 같지 않다. \n");
}
}
이렇게 되면 두 문자열은 같다고 나오지 않는다.
왜냐하면 if(A == B)는 주소값을 비교하는 것이기 때문이다.
문자열 A와 B는 주소값이 다르다.
그래서 문자열을 비교해주는 함수 strcmp가 필요한 것이다.
#include<stdio.h>
#include<string.h>
int main()
{
char A[] = "Happy day";
char B[] = "Happy day";
if(strcmp(A,B) == 0)
{
printf("A와 B는 같은 문자열이다.\n");
}
else
printf("A와 B는 같은 문자열이 아니다. \n");
}
이렇게 해야 같은 문자열이라는 경우가 나온다.
댓글 없음:
댓글 쓰기