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

kiostory님의 프로필 이미지
kiostory

작성한 질문수

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

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

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

작성

·

194

1

예제에서 scanf()의 반환값을 활용한다는 내용은 잘 알겠습니다. 그러나 문제에서 얘기하는 값인 'q'외에도 int만 아니면 모두 루프에서 빠져나온다는 것이 좀 찝찝합니다.

변수를 더 만들지 않고 int num 입력에 q를 판별하는 방법은 없는걸까요?

답변 3

2

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

아, 제 질문방법이 잘못되었나 봅니다.

강의 예제와 실제 강의 커맨트하시는 것이 맞지않아 드렸던 말씀입니다.

예제에는 scanf()로 정수를 받으면서 앞단의 printf()에는 (q to quit )이 나오게 되어있어

q를 입력하면 루프를 빠져나가는 것으로 보입니다만

                         printf("Enter an interger (q to quit) : ");

실제로 예제에서는 정수(int)만 아니면 q든 a든 b든 c든 d든 다 루프를 빠져나가게 되어있는데

                            while (scanf("%d",&i)==1)

                            sum += i;

                          

강의시 '이건 예제니 숫자만 아니면 다 빠져나간다 등'의 설명은 없이

q만 누르면 루프를 빠져나가는것처럼 오해가 있을까 드렸던 말씀입니다.

0

참견하는거 같아 기분이 상하셨다면 죄송합니다.

저같은 경우엔 이후에 나오는 getchar함수와 char 자료형 변수를 선언하여

q만 판별하도록 구현하였습니다. 질문과는 다르게 char 변수도 사용했지만

도움이 되실까하여 적어 봅니다. 

그리고 이 강의 들으면서 느낀 점이 초반에 좀 막히더라도

이후 강의를 계속 들으면 지금의 의문에 대한 답을 스스로 찾을 수 있더라구요.

그럼 수고하세요. 

0

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

안녕하세요? 새로운 아이디어가 떠오르셨나보네요. 조건을 더 꼼꼼하게 지정해주시면 될 텐데 직접 방법을 찾아보시면 공부가 많이 될 것 같습니다. 제가 강의 내용을 다 외우고 있다고 생각하시고 질문을 하시면 도와드리기가 어렵습니다. 질문하는 방법은 아래 링크 참고하세요.

https://blog.naver.com/atelierjpro/221547580916

kiostory님의 프로필 이미지
kiostory

작성한 질문수

질문하기