IT 프로그래밍

[따배시 6.1] while문을 이용한 scanf 함수 정의

기술1 2024. 1. 9. 09:33
반응형
int main(void)
{
	int num, sum = 0;
	int status;
	printf("Enter an integer (q to quit) : "); //문자를 입력했으면 0으로 뜬다.
	
	status = scanf("%d", &num);

	while (status == 1)
	{
		sum = sum + num;
		printf("Enter next integer ( q to quit) : ");
		status = scanf("%d", &num);
	}
	
	printf("Sum = %d\n", sum);

	return 0;

}

위 예제 같은 경우 올바르게 작동은 하지만 status가 반복이 되는 것을 볼 수 있다.

 

프로그래밍을 할 때는 반복되는 점을 최대한 줄여야 하기 때문에 위의 status를 while문 괄호 안에 넣어야 한다. 

 

int main(void)
{
	int num, sum = 0;
	printf("Enter an integer (q to quit) : "); //문자를 입력했으면 0으로 뜬다.
	
	

	while (scanf("%d", &num) == 1)
	{
		sum = sum + num;
		printf("Enter next integer ( q to quit) : ");
	}
	
	printf("Sum = %d\n", sum);

	return 0;

}

while문 안에서 scanf를 출력하고 한 값이 1이 같은지 비교를 하는 것이다. 

반응형