#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;
}
実行後、私は2つの数字5,10と1つの演算子+を入力しました。しかし、私は何の出力も得られませんでした。しかし、私は他の値を入力した後、私は出力を得た。 例:このCプログラムが正しく実行されないのはなぜですか?
Enter two numbers and one operater
40 20
+
10
Output 60
'scanf("%d%d%c "、&x、&y、&operator); ' - >戻り値をチェックします。 –
「%d%d%c」から「%d%d%c」に変更するのは難しいです。 ;) – LPs
scanf()の空白を取り除くことによって正しい出力を得ました。 –