使用指向变量的指针变量做函数参数 编写函数求两个数的平方,立方和及平方差,立方差
时间: 2024-03-22 12:37:47 浏览: 62
程序设计-指向函数的指针作为函数参数.pptx
好的,下面是函数的实现:
```c
#include <stdio.h>
void square_cube(int x, int y, int *square_sum, int *cube_sum) {
int x_sqr = x * x;
int y_sqr = y * y;
int x_cube = x * x * x;
int y_cube = y * y * y;
*square_sum = x_sqr + y_sqr;
*cube_sum = x_cube + y_cube;
}
void square_cube_diff(int x, int y, int *square_diff, int *cube_diff) {
int x_sqr = x * x;
int y_sqr = y * y;
int x_cube = x * x * x;
int y_cube = y * y * y;
*square_diff = x_sqr - y_sqr;
*cube_diff = x_cube - y_cube;
}
int main() {
int x = 2, y = 3;
int square_sum, cube_sum, square_diff, cube_diff;
square_cube(x, y, &square_sum, &cube_sum);
square_cube_diff(x, y, &square_diff, &cube_diff);
printf("Square sum: %d\n", square_sum);
printf("Cube sum: %d\n", cube_sum);
printf("Square difference: %d\n", square_diff);
printf("Cube difference: %d\n", cube_diff);
return 0;
}
```
在上面的代码中,我们定义了两个函数 `square_cube` 和 `square_cube_diff`,分别用于计算平方和与立方和,以及平方差与立方差。这两个函数的实现方式几乎相同,只是计算的方式略有不同。
在 `square_cube` 函数中,我们先计算 `x` 和 `y` 的平方与立方,并分别保存在 `x_sqr`、`y_sqr`、`x_cube` 和 `y_cube` 中。然后,我们通过指针将计算结果保存在 `square_sum` 和 `cube_sum` 中。
在 `square_cube_diff` 函数中,我们也先计算 `x` 和 `y` 的平方与立方,并分别保存在 `x_sqr`、`y_sqr`、`x_cube` 和 `y_cube` 中。然后,我们通过指针将计算结果保存在 `square_diff` 和 `cube_diff` 中。
最后,我们在 `main` 函数中调用这两个函数,并将指向变量的指针作为参数传递给它们。最后,我们打印出计算结果。
同样地,在函数调用时,我们需要在指针变量前加上 `&` 符号,表示取指针变量所指向的内存地址。这样,函数就可以通过指针修改我们传递进去的变量的值了。
阅读全文