작성
·
302
0
왜 Enter next integer (q to quit) : 두 번 출력 되고 Sum 값이 이상하게 출력 되는지 잘 모르겠습니다..
#include <stdio.h>
int main()
{
int sum = 0;
char input = ' ';
printf("Enter an integer (q to quit) : ");
scanf("%c", &input);
if (input != 'q')
{
sum += (int)(input - 48);
while (1)
{
printf("Enter next integer (q to quit) : ");
scanf("%c", &input);
if (input == 'q') break;
sum += (int)(input - 48);
}
}
printf("Sum = %d", sum);
return 0;
}
답변 1
0
안녕하세요,
우선 아래의 경우 character input이기에 하나의 입력만 받아들이게 됩니다.
가령 12라고 한다면 1만 받아들이게 되지요.
scanf("%c", &input);
아래 예시코드를 작성해두었으니 실행하여 확인해보세요.
#include <stdio.h>
int main()
{
int sum = 0;
char input;
scanf("%c", &input);
printf("input: %d\n", (int)(input - 48));
return 0;
}