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

김청해님의 프로필 이미지
김청해

작성한 질문수

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

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

두번째 입력부터 컴파일을 멈춥는데 왜 그런거죠?

작성

·

344

1

강의에 올라온 코드를 똑같이 입력해 컴파일을 해보아도 처음값까지는 잘 입력이 되는데 두번째로 입력하면 컴파일을 종료합니다. 답변 부탁드립니다.

 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>



int main(void) {
	
	int num, sum = 0;
	int status;

	printf("정수를 입력해주세요 :\n");
	
	status = scanf("%d", &num);

	while (status == 1) {

		sum = sum + num;

		printf("정수를 입력해주세요 :\n");
		status = scanf("%d, &num");
			
	}
	printf("sum = %d\n", sum);

	return 0;

}

답변 1

2

안녕하세요, 답변 도우미 Soobak 입니다.

작성하신 코드 중 while() 문 안의 scanf() 함수의 인자 부분에서 " 문자 위치에 오타가 발생하셔서, 반복문이 두 번째 입력 이후부터 수행되지 않네요.

다음과 같이 수정하신 후 컴파일해보시길 바랍니다.

while (status == 1) {
  sum = sum + num;

  printf("정수를 입력해주세요 :\n");

  // status = scanf("%d, &num"); // 질문자님 코드
  
  status = scanf("%d", &num); // 강의에서의 코드
}

 

김청해님의 프로필 이미지
김청해
질문자

답변 감사합니다 ㅜㅜ

김청해님의 프로필 이미지
김청해

작성한 질문수

질문하기