if 문에서 구조체 배열에 저장되있던 문자열 검사하는 법 ?
크리미걸
2023.04.01
질문 제목 : if 문에서 구조체 배열에 저장되있던 문자열 검사하는 법 ?if 문에서 구조체 배열에 저장되있던 문자열 검사하는 법 ?질문 내용 : 안녕하세요 ?
if 문에서 제가 구조체 배열로 읽어 들인 문자열을 조건에 걸어놨는데 !!
그냥 printf로 보면 분명히 맞는 답이 나오는데
if 문에서는 조건이 맞아도 실행이 되지 않더군요 ;;
ex ) 제가 지정해둔 구조체 중에서 time[0].type_2 에 소리 라는 값이 들어있습니다.
그런데 여기서 printf( %s , time[0].type_2);를 하면 등록되 있는 소리 라는 값이 출력이 됩니다.
하지만 if ( time[0].type_2 == 소리 )
printf( o k ! );
라고 짜두면 절대 실행이 안되더군요 ;;
왜그런걸까요 ?
제가 무슨 실수를 했나요 ...?
-
키클
감사합니다 ^-^
-
김자영
실행 안되는건 조건문이 잘못됬다는 말이겠죠.
정수는 정수와 문자열은 문자열과 비교해야됩니다.
저 상태는 저게 문자열인지 정수인지 뭔지 타입을 모릅니다.
그래서 보통 문자열 비교시에는 strcmp를 사용합니다.
프린트문이야 문자열로 지정해서 문자열로 인식하는거지 다른 포맷으로 받으면 다른 결과가 나올겁니다.