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

realbrother98님의 프로필 이미지
realbrother98

작성한 질문수

홍정모의 따라하며 배우는 C언어

11.4 문자열을 입력받는 다양한 방법들

강의 마지막에 나오는 함수 char* custom_string_input(char* st, int n)가 잘 이해되지 않습니다.

작성

·

197

0

함수 char* custom_string_input(char* st, int n)에서 중간에 있는

 

if (ret_ptr)가 무슨 의미인지 잘 모르겠습니다.  언제 성립하고 언제 성립하지 않는지 모르겠습니다.

답변 1

0

강의의 코드에 의하면 ret_ptr 에 fgets 의 리턴값을 저장해두고 있는데, 

fgets 는 입력 성공하면 string 버퍼를 가리키는 포인터를 리턴하고 오류와 같은 이유로 입력에 실패하였으면

NULL 을 리턴합니다.

즉, if(ret_ptr) 이 조건문이 true 가 된다는 것은 fgets 를 통한 입력에 성공했을 때만 해당 if 를 실행한다고 할 수 있겠죠. 실패해서 NULL 이면 if 문 실행 안 할테구요. 

if문의 경우 ()안의 값이 true값 외(Boolean 값)에도 어느 숫자(포인터라도) 0만 아니면 다 실행이 되는건가요??

realbrother98님의 프로필 이미지
realbrother98

작성한 질문수

질문하기