인프런 커뮤니티 질문&답변

영호님의 프로필 이미지
영호

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

2-H

2-H질문

작성

·

81

0

bool is_vowel(int idx) {

return (idx == 'a' || idx == 'e' || idx == 'i' || idx == 'o' || idx == 'u');

}


bool is_vowel(int idx) {

if (idx == 'a' || idx == 'e' || idx == 'i' || idx == 'o' || idx == 'u')

return true;

else false;

}

이 두 코드가 같다고 생각이 드는데 왜 결과값이 다르게 나올까요??

답변 2

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 영호님 ㅎㅎ

틀린 코드 전체 공유 부탁드립니다.

0주차 - 질문하는 방법 참고부탁드려요~

 

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다.

영호님의 질문은 is_vowel 함수의 두 가지 다른 구현 방식에 대한 결과값의 차이를 궁금해하는 것으로 보입니다. 여기서 주어진 두 구현 방식은 본질적으로 같은 기능을 수행하는 코드로 보이며, 논리적으로 봤을 때 같은 결과를 반환해야 정상입니다. 그러나 영호님께서 제시한 두 번째 방식의 코드에는 return 문에 작은 오타가 있습니다.

올바른 코드는 다음과 같아야 합니다:

bool is_vowel(int idx) {
    if (idx == 'a' || idx == 'e' || idx == 'i' || idx == 'o' || idx == 'u')
        return true;
    else 
        return false;
}

귀하의 코드에서 else 부분이 return false;를 명시적으로 반환해야 합니다만, 실제 코드에서는 false;만 작성되어 있어서 컴파일 에러 혹은 예상치 못한 동작을 일으킬 수 있습니다.

이와 유사한 질문으로, 질문자가 isVowel 함수에 대해 물었던 다른 질문들에서 4659번 prev와 isVowel return 질문에서도 함수의 반환 값과 관련된 응답이 제공되었습니다. 이러한 유형의 질문은 일반적으로 함수의 반환 타입과 조건문의 사용 방식에 대한 이해를 요구합니다.

다만, 직접적으로 영호님의 코드의 결과값이 다르게 나오는 부분에 대해 설명된 링크는 없습니다. 그래도 이에 대한 기본적인 이해와 문법 오류 수정을 통해 문제를 해결할 수 있길 바랍니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

영호님의 프로필 이미지
영호

작성한 질문수

질문하기