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

ccgg cc님의 프로필 이미지

작성한 질문수

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

6.1 while 반복 루프에서 scanf()의 반환값 사용하기

scanf 리턴값 받을 수 있다는걸 모르고 삽질만 2시간..

작성

·

188

0

현 강의까지 안 본 강의가 2개 있는데 거기에서 리턴값 받는 방법이 있었나보군요..

 제목 그대로 리턴 값 안받고 삽질만 2시간 했지만 얻은게 많은 시간이었습니다. ㅋㅋㅋ f10을 몇번 눌렀는지 모르겠네요.

포기하고 그냥 해답 보려다가 선생님께서 해답풀이전

어떻게든 만들어보시고 후 시청하라고 하셔서 오기로 만들어봤네요.

-----

아래는 잘 작동 하는 코드입니다. 

scanf 입력을 한개만 받고 영상에 나오는 기능같이 만들고 싶어서 2시간 동안 삽질 후 좌절하여 scanf 입력을 2개 받고 코드를 완성시켰습니다만 혹시 리턴 값 사용하지않고

scanf  입력을 한개만 받고 구현이 가능하나요?

int main()

{

int sum = 0;

int scan = 0;

int k = 1;

char c = '#';

while (k == 1)

{

printf("\n 입력하세요:");

scanf("%d %c", &scan, &c); //입력 부분

                // A입력시 나감

sum += scan; // 연산과 저장 부분

while (c == 'A') 

{

k = 0;

c = '#';

}

}

printf("답은 = %d",sum);  //답 출력부분

return 0;

}

끝까지 scanf 1개만 입력받고 해보려다  포기하고 2개로 했습니다...  1개만으로 하는 방법이 가능한데 제가 못찾았었던건가요? 궁금합니다. 

( 힘들게 완성하고 강의 보는데 허무하더군요 ㅋㅋㅋ

강의 내용은 이번 일 덕분에 확실히 이해되었습니다.)

답변 1

1

홍정모님의 프로필 이미지
홍정모
지식공유자

코드 최적화까지 도와드리기는 조금 어렵겠네요. 문제가 뭐였나 적어주셨으면 좋을뻔했습니다.

저는 아직도 다른 사람들 코드를 보고 충격 받는 일이 허다합니다. 개인적으로는 아직도 그런 '충격'을 찾아서 돌아다니는 삶을 살고 있습니다. 초보때는 2시간이 아깝게 느껴지는 것이 사실입니다만, 앞으로 이런 경험을 자주 하실겁니다. 그때마다 정신을 똑바로 차리고 빨리 해결하기 위해 집중하는 요령을 터득하시는 것만이 시간을 아끼는 길입니다.

ccgg cc님의 프로필 이미지

작성한 질문수

질문하기