#include <stdio.h>
int main(void)
{
int num1, num2;
printf("두 개의 정수: ");
scanf("%d, %d",&num1, &num2);
printf("%d-%d=%d \n",num1, num2, num1-num2);
printf("%d x %d=%d \n",num1, num2, num1*num2);
return 0;
}
이렇게 하고 제가 정수 1을 썼는데 1-47, 1*47
가 나오는데 원래 47이 나오는 건가요? 아니면 뭐가 잘못된지...
설명 좀 해주세요
네.. scanf 함수에 문제가 있네요..
지금 서식 문자 %d 사이에 ,(쉼표)가 있는데, 이렇게 쉼표를 넣으면
입력할 때 두 정수 사이에 쉼표를 반드시 넣어주어야 합니다.
<쉼표를 넣지 않은 경우>
<쉼표는 넣어 입력하는 경우>
이러한 이유 때문에 scanf() 함수의 서식 문자열 내에는 서식 문자 외에는 어떤 것도 넣지 않는 것이 원칙입니다.
다음과 같이요...
#include <stdio.h>
int main(void)
{
int num1, num2;
printf("두 개의 정수: ");
scanf("%d %d",&num1, &num2); // <=== " " 안에 쉼표가 없습니다.
printf("%d-%d=%d \n",num1, num2, num1-num2);
printf("%d x %d=%d \n",num1, num2, num1*num2);
return 0;
}