작성
·
280
0
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define SIZE 5
int main()
{
int num = 0;
int sum = 0;
printf("Enter %d numbers :", SIZE);
for (int i = 0; i < SIZE; ++i)
{
scanf("%d ", &num);
sum += num;
}
printf("SUM = %d", sum);
return 0;
}
예제에서는 5개의 숫자를 입력받고 5개 숫자의 합을 출력하는 내용입니다.
코드만 보면 5개 입력 받고 숫자 5개의 합으로 넘어가야 할것 같은데
실행을 해보면 숫자 6개를 입력하고 나서야 숫자 5개의 합으로 넘어갑니다.
왜 이렇게 되는지 알 수 있을까요?
숫자 하나씩 입력하면서 띄어쓰기도 했습니다
답변 1
0
scanf("%c", &A); 와 scanf(" %c", &A); 는 차이가 있습니다.
참고할 수 있는 링크들을 첨부해드립니다.
[링크 1] Difference between scanf("%c", &c) and scanf(" %c", &c)
[링크 2] What is difference between scanf(" %c") and scanf("%c")?
[링크 3] What is the effect of trailing white space in a scanf() format string?
숫자를 입력하면서 띄어쓰기도 해줬는데도 안되는건가요? 왜그런건가요...