반응형


1
2
3
4
5
6
7
8
char a[10];
 
scanf("%s",a);
 
//이때 hello를 입력했다고 가정.
 
if(a == "hello")printf("안녕");
 
Crocus


이렇게 생각해 본적이 있을 수도 있다.


하지만 이렇게 한다면 a는 a[0]주소를 의미할뿐이고, "hello"는 문자열로써 결국 비교가 성립되지 못한다.


이때 생각해 볼수 있는 함수는


1
2
3
4
5
6
7
8
9
10
 
char a[10];
 
scanf("%s",a);
 
//이때 hello를 입력했다고 가정.
 
 
if(strcmp(a,"hello"== 0 ) printf("안녕");
 
Crocus


이렇게 생각할 수 있다.


strcmp라는 함수를 놓치기 쉬운데 strlen, stcmp, strcpy같은 함수 및 memmove, memcopy같은 함수들도 다시 한번 생각할 기회가 되었으면 한다.

반응형