#include <stdio.h>
int main()
{
int c1;
char op;
printf("\n(Int or Float) \n\t[1.for int 2.for float] \nEnter Choise : ");
scanf("%d",&c1);
if (c1==1)
{
printf("\n(select opearion) \n\t[+, -, *] \nEnter Choise : ");
scanf("%c", &op);
int a,b,r;
printf("\n Enter Two no. : ");
scanf("%d%d ", &a,&b);
switch (op)
{
case '+': r=a+b;
break;
case '-': r=a-b;
break;
case '*': r=a*b;
break;
default:
printf("Wrong Operator Entered");
}
printf("\n\n Result = %d \n\n",r);
}
else if(c1==2)
{
printf("\n(select opearion) \n\t[+, -, *] \nEnter Choise : ");
scanf("%c", &op);
float a,b,r;
printf("\n Enter two numbers : ");
scanf("%f%f", &a,&b);
switch (op)
{
case '+': r=a+b;
break;
case '-': r=a-b;
break;
case '*': r=a*b;
break;
default:
printf("Wrong Operator Entered");
}
printf("\n\n Result = %f\n\n",r);
}
else
{
printf("\n\n Wrong choise entered \n\n");
}
}
运行该程序后,程序不等待取 op 的值,而是直接进入询问 Entering Two no。为什么会这样?
为什么程序会跳过从所需操作的用户那里取值的部分,并进入下一步询问要执行操作的两个编号。为什么程序会跳过该值参与。