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

sj452님의 프로필 이미지
sj452

작성한 질문수

(2025) 일주일만에 합격하는 정보처리기사 실기

C언어 질문

해결된 질문

작성

·

54

0

강사님, 안녕하세요. 강의 잘 듣고 있습니다.

강의를 듣다 궁금한 점이 생겨 질문 남깁니다.

 

  1. C언어 - 함수 부분(31:18) 홀수인지, 짝수인지 판별하기 문제

[오답]

10는 짝수입니다.

13는 짝수입니다.

01는 홀수입니다.

1는 홀수입니다. (0)

 

[정답]

10는 짝수입니다.

13는 짝수입니다.

1는 홀수입니다. (0)

 

저는 위에 제시한 오답처럼 풀이를 진행하여 해당 문제를 틀렸습니다. 제 풀이는 함수 정의 부분에 있는 첫 번째 if문에서 retrun 0을 반환(print)하고 그 아래에 있는 if문에 있는 else까지 실행시켜 오답이 되었습니다.

 

1) if 문 질문

isEven 함수 정의 부분에서 첫 번째 if문만 실행되고, 두 번째 if문은 실행되지 않는지 궁금합니다.

2) return, printf 질문

다른 문제에서도 이러한 식으로 오답을 작성한 적이 있는데, return과 print의 차이에 대해 설명해주시면 좋겠습니다. (혹시 예시를 알려주실 수 있을까요?)

 

  1. 교안 관련 질문

python 변수와 출력 예제 부분 pdf에 '\n'이 빠져있는 것 같습니다. 강의에는 잘 반영되어 있는데 pdf에는 빠져있는 것 같아서요! (이미 수정하셨을 수도 있을 것 같습니다. ㅎㅎ 확인 부탁드려요)

KakaoTalk_20240922_160257223.jpg

  1. 실습 관련 환경 설정

가볍게 실습 코드를 돌려보고 싶은데 어느 환경에서 하는 것이 좋을까요? 코랩으로 시도해보았으나 좀 불편한 것 같아 보통 어느 환경에서 실습을 진행하는지 여쭙고 싶습니다!

답변 2

0

주말코딩님의 프로필 이미지
주말코딩
지식공유자

안녕하세요.

함수 내에서 return을 만나게 되면, 해당 값을 돌려주고 함수는 그 즉시 종료됩니다.

print는 그냥 출력입니다. 별 다른 의미 없습니다.

 

  1. 실행되지 않습니다. 첫번째 if에서 return으로 값을 돌려주고 함수 전체를 종료합니다.

     

     

 

  1. 예시랄게.. 어떻게 드려야할 지 모르겠네요.

     

    print는 그냥 출력만 합니다. 그 다음 줄에 코드가 있으면 정상적으로 실행하고요. return은 해당 값을 리턴하고 함수를 빠져 나갑니다.

지금 isEven 아래 if문을 보시면, if-else안에 그 어떤 return도 없습니다. 그러니까 출력을 하고 마지막에 내려가서 0을 리턴합니다. 더 극단적으로 들어가면, 만약에 mode를 1이 아닌 다른 것으로 주고 그 값을 if문의 조건으로 넣었다고 가정해봅시다.

if(isEven(어떤값, 0))

이 경우에는 해당 if문은 무조건 false로 인식합니다. 어떤 경우든 다 0이 리턴되니까요.

출력문은 number가 짝수인지 홀수인지에 따라 달라지겠지만, 결국 아래로 내려가면 0을 리턴합니다. 이런 것들로 낚시 문제 내기 좋겠네요. 

 

  1. 교안에 오타가 있는 게 맞습니다. 수정하겠습니다.

 

  1. 저는 간단한 코드의 경우 온라인 컴파일러/인터프리터를 사용합니다.

C: https://www.programiz.com/c-programming/online-compiler/

Java: https://www.programiz.com/java-programming/online-compiler/

Python: https://www.programiz.com/python-programming/online-compiler/

 

직접 코드를 작성하면서 확인하는 것은 좋으나, 저는 수험 공부는 되도록 손 코딩을 해보시는 것을 권장합니다. 실제로 컴퓨터로 쳐서 눈으로 읽는 것보다 종이로 일일이 해보는 것이 훨씬 더 이해에 도움이 됩니다. 제 개인적인 경험이니, 질문 작성자분께 적합한 학습 방법을 찾으시면 좋겠네요..^^

주말코딩님의 프로필 이미지
주말코딩
지식공유자

교안 수정 완료했습니다. (v0.2)

sj452님의 프로필 이미지
sj452
질문자

감사합니다!

함수는 return 값을 만나면 무조건 종료된다는 것으로 이해하면 될까요~?

주말코딩님의 프로필 이미지
주말코딩
지식공유자

네. 값을 전달하고 함수는 종료됩니다.

0

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

강의에서 다룬 C언어의 함수 실행과 관련된 문제에 대해 질문해주셨네요. 비슷한 문제와 관련한 기존 질문들을 찾아보았습니다.

C언어 함수의 if문 실행과 return, printf의 차이점

먼저, 함수 내부에서 return 문을 만나는 순간 함수가 종료되고 그 값을 반환하기 때문에, 이후의 코드가 실행되지 않는 점을 주의해야 합니다. 아래 링크는 유사한 질문을 다룬 답변들입니다.

  1. 기본적인거 질문
    • 함수의 return과 다음 코드 실행에 관련된 내용입니다.
    • printreturn의 차이에 대해 설명하고 있는 예시가 포함되어 있습니다.

PDF 관련 피드백

강의 PDF 자료에 ‘\n’이 빠져 있는 부분에 대해서도 강사님께서 이미 알림을 받고 수정된 경우가 있을 것입니다. 추가적으로 피드백을 드리더라도 강사님께 직접 전달하면 더 도움이 될 것입니다.

실습 환경 설정

코랩이 불편하다면, 로컬 환경에서 다양한 IDE를 사용해 보실 수 있습니다. 이에 관련된 유사한 질문이 있어 안내드립니다.

  1. 강의문의드려요
    • 실습 환경 설정에 대한 질의가 포함되어 있습니다.

기본적으로 사용해보실 수 있는 IDE는 Visual Studio Code, PyCharm 등이며, 코드 블록 단위로 실습하기에 좋은 환경을 제공받으실 수 있습니다. 원하는 편집기나 IDE를 선택해 보시는 것을 권장드립니다.

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

sj452님의 프로필 이미지
sj452

작성한 질문수

질문하기