-4
이 프로그램은 '2 + 6 - 9'(숫자와 연산자 사이에 공백이 있음)와 같은 표현식을 계산하지만 마지막 블록은 올바르지 않습니다. \ n을 받았을 때 어떻게 루프를 깰 수 있고 그렇지 않다면 입력을 저장합니다.c 표현식 계산 프로그램
#include <stdio.h>
#include<stdlib.h>
void main()
{
char oper;
int sum,y;
scanf("%d %c",&sum,&oper);
while(1)
{
scanf("%d",&y);
if(oper=='+')
sum += y;
else if(oper=='-')
sum -= y;
else if(oper=='/')
sum /= y;
else if(oper=='*')
sum += y;
if((scanf("%c",&oper))=='\n')
break;
}
printf("\n =%d",sum);
}
이고 if (scanf ("% c", & oper) == 1 && oper == '\ n')'와 같은지 확인합니다. 'scanf()'가'EOF'를 리턴했는지 생각해보십시오. – chux