#include<stdio.h>
int main()
{
int x,y;
unsigned char operator;
printf("Enter two numbers and one operater \n");
scanf("%d %d %c ",&x,&y,&operator); // check " and commas
printf("Output ");
switch(operator)
{
case '+':printf("%d",x+y); // dont jst copy paste read and paste
break;
case '-':printf("%d",x-y);
break;
case '*':printf("%d",x*y);
break;
case '/':printf("%d",x/y);
break;
default: printf("invalid operator");
}
return 0;
}
실행 후 두 개의 숫자 5, 10 및 하나의 연산자 +를 입력했습니다. 하지만 나는 결과를 얻지 못했습니다. 하지만 다른 값을 입력하면 결과가 나옵니다. 예 :이 C 프로그램이 제대로 실행되지 않는 이유는 무엇입니까?
이Enter two numbers and one operater
40 20
+
10
Output 60
'scanf ("% d % d % c", & x, & y, & 연산자); '-> 반환 값을 확인하십시오. –
"% d % d % c"에서 "% d % d % c"로 충분하지 않습니다. ;) – LPs
scanf()에서 공백을 제거하여 올바른 출력을 얻었습니다. –