现请利用指针编写四则运算程序
时间: 2024-10-24 11:13:58 浏览: 16
C语言 实现四则运算 加减乘除
在C语言中,我们可以利用指针来编写一个简单的四则运算程序。首先,我们需要定义两个结构体表示操作数和运算符,并创建相应的指针变量来存储这些信息。这里是一个基础的示例:
```c
#include <stdio.h>
// 定义运算符结构体和对应的指针
typedef enum {
ADD = '+',
SUBTRACT,
MULTIPLY,
DIVIDE
} Operation;
typedef struct {
double value; // 操作数
Operation op; // 运算符
} Operand;
// 函数指针,用于指向对应的计算函数
double (*operation_ptr)(Operand*, Operand*);
// 计算函数
double add(Operand* a, Operand* b) { return a->value + b->value; }
double subtract(Operand* a, Operand* b) { return a- b->b->value; }
double multiply(Operand* a, Operand* b) { return a->value * b->value; }
double divide(Operand* a, Operand* b) { return a->value / b->value; }
int main() {
Operand num1, num2;
Operation operator选;
printf("请输入第一个数字: ");
scanf("%lf", &num1.value);
printf("请输入运算符 (+, -, *, /): ");
scanf(" %c", &operator选);
switch (operator选) {
case ADD:
operation_ptr = add;
break;
case SUBTRACT:
operation_ptr = subtract;
break;
case MULTIPLY:
operation_ptr = multiply;
break;
case DIVIDE:
if (b->value != 0) {
operation_ptr = divide;
} else {
printf("除数不能为零");
return 1;
}
break;
default:
printf("无效的运算符");
return 1;
}
printf("请输入第二个数字: ");
scanf("%lf", &num2.value);
// 创建运算指针并执行计算
printf("%.2lf %c %.2lf = %.2lf\n", num1.value, operator选, num2.value, (*operation_ptr)(&num1, &num2));
return 0;
}
```
在这个例子中,我们通过函数指针`operation_ptr`动态地选择了对应的操作。用户输入两个数字和一个运算符,然后程序根据运算符选择合适的计算函数并执行。
阅读全文