該代碼執行自身時不會在轉換語句scanf("%c",&choose); switch(choose)
之前詢問字符「選擇」以作進一步處理。不要求字符「選擇」在轉換語句之前
printf("enter option 1,2,3 or 4 \n\n");
scanf("%c",&choose); // why it not ask to input char
switch(choose)
{
case '1': case '+':
{
printf("enter 1st value\n");
scanf("%f",&a);
printf("enter 2st value\n");
scanf("%f",&b);
c=a+b;
printf("%f + %f = %f",a,b,c);
break;
}
case '2': case '-':
{
printf("enter 1st value\n");
scanf("%f",&a);
printf("enter 2nd value\n");
scanf("%f",&b);
c=a-b;
printf("%f - %f = %f",a,b,c);
break;
}
case '3': case'*':
{
printf("enter 1st value\n");
scanf("%f",&a);
printf("enter 2nd value\n");
scanf("%f",&b);
c=a*b;
printf("%f * %f = %f",a,b,c);
break;
}
}
1.您是否在任何地方聲明瞭「選擇」? 2.你爲什麼不問 - 你的意思是那裏沒有文字? –
在這個printf/scanf之前還有別的東西嗎?例如... [另一個scanf](http://stackoverflow.com/questions/4023643/second-scanf-is-not-working)? –
我聲明char選擇,但它不是與開關一起工作,如果更改變量char到int選擇;那麼它將工作,但它將不再能夠存儲諸如+ - * – user3828413