c语言编写一个通用函数,实现加减乘除运算
时间: 2024-10-01 14:12:09 浏览: 20
在C语言中,为了实现一个通用的数学运算函数,我们可以使用结构体或者联合体来封装操作数和运算符,并结合条件语句来处理加、减、乘、除这四种基本运算。这里我们以结构体为例,创建一个`Operation`结构体:
```c
#include <stdio.h>
// 定义一个包含操作数和运算符的结构体
typedef struct {
double num; // 操作数
char op; // 运算符 ('+'/'-' '*' '/' )
} Operation;
// 函数声明
double perform_operation(Operation op);
int main() {
Operation add = {5.0, '+'};
Operation sub = {3.0, '-'};
Operation mul = {4.0, '*'};
Operation div = {8.0, '/'};
printf("Addition: %.2f\n", perform_operation(add));
printf("Subtraction: %.2f\n", perform_operation(sub));
printf("Multiplication: %.2f\n", perform_operation(mul));
printf("Division: %.2f\n", perform_operation(div));
return 0;
}
// 实现通用的运算函数
double perform_operation(Operation op) {
switch (op.op) {
case '+':
return op.num + 0.0; // 假设第二个操作数为0,简化示例
case '-':
return op.num - 0.0; // 类似地,假设第二个操作数为0
case '*':
return op.num * op.num; // 如果是乘法,直接计算平方
case '/':
if (op.num != 0.0) { // 防止除以零错误
return op.num / op.num;
} else {
printf("Error: Division by zero is not allowed.\n");
return 0.0; // 返回特殊值表示错误
}
default:
printf("Error: Invalid operator.\n");
return 0.0; // 处理未预期的运算符
}
}
```
在这个例子中,`perform_operation`函数会根据输入的`Operation`结构体中的运算符来进行相应的加、减、乘、除操作。请注意,为了简化演示,这里的除法和乘法运算都是针对同一个操作数进行的。