#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int num, sum = 0;
int status;
printf("Enter an integer (q to quit) : ");
status = scanf("%d", &num); // return value of scanf()
while (status == 1) // equality operator
{
sum = sum + num;
printf("Enter an integer (q to quit) : ");
status = scanf("%d", &num);
}
printf("Sum = %d\n", sum);
return 0;
}
scanf
함수는 입력 받은 정수의 개수의 개수를 반환값으로 돌려준다.
만약, 숫자가 아니라 문자가 들어오게 된다면, 정수로 입력 받은 게 없으므로 0을 반환값으로 가지게 된다.
==
: equality operator
관계 연산자.
왼쪽과 오른쪽이 같은 지를 비교한다.
관계를 평가하는 연산자이다.
status == 1
을 status > 0
으로 바꿔도 된다.
while
문 안의 조건은 loop가 계속 진행되는 조건과 같으므로 저게 된다.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int num, sum = 0;
printf("Enter an integer (q to quit) : ");
while (scanf("%d", &num) == 1) // equality operator
{
sum = sum + num;
printf("Enter next integer (q to quit) : ");
}
printf("Sum = %d\n", sum);
return 0;
}