c - Why is my '+' operator considered as a new line character? -
the following code modular calculator problem. input data is:
5 +3 * 7 +10 * 2 * 3 +1 % 11
#include <stdio.h>  int main(void) {     char oper;     int number,result;     scanf("%d",&number);     result=number;         {         oper=getchar();         fflush(stdin);         scanf("%d",&number);         if(oper=='+')         {             result=result+number;         }         else if(oper=='*')         {             result=result*number;         }         printf("%c %d %d ",oper,number,result);     }while(oper!='%');     result=result%number;     printf("%d",result);     return 0; }   the output follows:
3 5   3 5 * 7 35   10 35   10 35 * 2 70   2 70 * 3 210   1 210   1 210 % 11 210 1   i can't seem figure out why?
replace
oper=getchar(); fflush(stdin); scanf("%d",&number);   with
scanf(" %c", &oper); scanf("%d", &number);      
Comments
Post a Comment