C 言語で scanf 関数を使用して演算子を入力する方法
C言語では、scanf関数で演算子の入力も可能ですが、scanf関数は基本的に変数の値を入力する関数なので、演算子の入力には適していません。
演算子をユーザー入力で取得したいときは、まず文字を入力し、その後、その文字を特定の演算子を表すように使用します。たとえば、
#include <stdio.h>
int main() {
char operator;
int num1, num2;
printf("请输入运算符:");
scanf("%c", &operator);
printf("请输入两个整数:");
scanf("%d %d", &num1, &num2);
switch(operator) {
case '+':
printf("%d + %d = %d\n", num1, num2, num1 + num2);
break;
case '-':
printf("%d - %d = %d\n", num1, num2, num1 - num2);
break;
case '*':
printf("%d * %d = %d\n", num1, num2, num1 * num2);
break;
case '/':
if(num2 != 0) {
printf("%d / %d = %.2f\n", num1, num2, (float) num1 / num2);
} else {
printf("除数不能为0\n");
}
break;
default:
printf("无效的运算符\n");
}
return 0;
}
上記のコードでは、まずscanf関数で文字operatorを入力し、その後、2つの整数num1とnum2を入力します。operatorの値に基づいて、switch文で対応する演算を実行し、結果を出力します。
注意:演算子を指定する場合は%c書式文字を使用します。複数の整数を指定する場合は%d書式文字を使用して、値と値の間にはスペースを入れます。