-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
배열을 안쓰고 예제문제를 구현해봤습니다. 이것과 관련해서 질문드립니다.
22.03.12 15:46 작성 조회수 198
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개의 합으로 넘어갑니다.
왜 이렇게 되는지 알 수 있을까요?
숫자 하나씩 입력하면서 띄어쓰기도 했습니다
답변을 작성해보세요.
0
강민철
2022.03.12
안녕하세요 :)
scanf("%d ", &num);
에서 %d 다음에 띄어쓰기가 있네요 :)
scanf("%d", &num);
이렇게 작성하셔야 합니다.
강민철
2022.03.14
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?
답변 1