strcmp가 0을 리턴하면(두 문자열이 일치하면) !0가 돼서 1이 되고
그 외의 값을 리턴하면 (두 문자열이 일치하지 않으면 ) !(0이 아닌 값)이 돼서 0이 됩니다
10828번 - 스택
감사합니다. 말씀대로라면 프로그래밍에서 1이 참이고 0은 거짓인가요?
0이나와서 !로 1로 변환되고 1이나오면 0으로 변환되는 것은 인지 하고 있습니다...
의문점은 왜 1이어야하는가가 의문입니다..
검색하다 찾았습니다. while 문에선 1은 참이고 0은 거짓이군요 0은 실행이되지않네요.
키워드는 c++ 1과0으로 검색했습니다
답변을 달아주셨네요 10초전에 ㅎㅎ 감사합니다
ㅋㅋ 같은 성대출신
댓글을 작성하려면 로그인해야 합니다.
darkprince 3년 전
strcmp 앞에 !가 붙어있는데 !가 부정연산자인것은 알고 있습니다.
하지만 이해가 되지 않는것은 어떻게 !가 저곳에 사용 될 수 있는가 입니다. ! 를 빼고나니 코딩이 이상해지더군요
저는if (0 == strcmp(str, "push"))이것으로 풀었는데요. 이것은 둘이 같으면 strcmp가 0을 뱉음으로써 0 == 이 성립한다는 것은
알고있었지만 !를 쓰는 경우는 처음봤습니다. 그리고 아무리 생각해도 구조가 이해가되지 않습니다.
!를 쓸때 원리 , 구조가 어떻게 되나요?