c++ strcmp함수 질문있습니다.
맛조이
2023.04.01
if(strcmp(anumber,a[i].number)==0){
cout찾으신 a[i].number의 이름은 a[i].name 입니다.\n;
}
여기서
if(strcmp(anumber,a[i].number)==0) 문구가 anumber와 a[i].number가 같으면 0을 반환하라는거잖아요
if문이 동작하려면 1이되어야 하는게 아닌가요?
올바른 지식을 얻을수있게 알려주시면 감사하겠습니다.
-
징징몬
아항 감사합니닷ㅎㅎ
-
라라
if()문에 대한 올바른 이해가 필요한 듯 합니다.
if(strcmp(anumber,a[i].number)==0) 문구는 anumber와 a[i].number가 같으면 0을 반환하라는 게 아니고
(그건 strcmp(anumber,a[i].number)의 의미라고 볼 수 있겠죠)
if 다음의 () 안에 오는 조건이 맞으면 {} 안의 내용을 수행하라는 의미입니다.
질문하신 내용을 예를 들어 살펴보면 if문의 조건절인 strcmp(anumber,a[i].nu -
잎새
strcmp(anumber,a[i].number)==0 이동작이 왜 true 인지 물어보시는 건지??
아님 왜 strcmp 함수를 만든 사람이 같으면 1을 리턴하지 0을 리턴하게 한건지 이것을 물어보신건지?
저는 오히려 0을 리턴하게 하는것이 맞다고 생각되는데요 strcmp 가 무조건 if 문에서만 쓰게 할려고 만든것도 아니고 작으면 -1, 같으면 0, 크면 1 이것이 합리적이라고 보는데요 ~