C语言用指针法实现3个数求最大值
时间: 2023-08-15 14:39:34 浏览: 165
可以使用指针法来实现3个数求最大值,代码如下:
```c
#include <stdio.h>
int main() {
int a, b, c, max;
int *p1, *p2, *p3;
printf("请输入三个整数:\n");
scanf("%d%d%d", &a, &b, &c);
p1 = &a;
p2 = &b;
p3 = &c;
max = *p1;
if (*p2 > max) {
max = *p2;
}
if (*p3 > max) {
max = *p3;
}
printf("三个数中的最大值为:%d\n", max);
return 0;
}
```
我们定义了三个整数变量 `a`、`b`、`c` 和三个指针变量 `p1`、`p2`、`p3`,分别指向这三个整数变量。然后使用指针法来找出三个数中的最大值,最后输出结果。
相关问题
c语言指针实现三个数找最大值
可以使用指针来实现三个数找最大值的功能,具体实现如下:
```c
#include <stdio.h>
int max(int *a, int *b, int *c) {
int max_num = *a;
if (*b > max_num) {
max_num = *b;
}
if (*c > max_num) {
max_num = *c;
}
return max_num;
}
int main() {
int a = 10, b = 20, c = 30;
int max_num = max(&a, &b, &c);
printf("Max number is: %d\n", max_num);
return 0;
}
```
在上述代码中,定义了一个 `max` 函数,它接收三个指针类型的整数变量 `a`、`b`、`c`,并返回它们三个中的最大值。在函数内部,首先将 `max_num` 初始化为 `a` 所指向的值,然后依次比较 `b` 和 `c` 所指向的值,如果它们中的任意一个比 `max_num` 大,就将 `max_num` 更新为该值。最后返回 `max_num` 即可。
在 `main` 函数中,定义了三个整数变量 `a`、`b`、`c`,并分别赋值为 `10`、`20`、`30`。然后调用 `max` 函数并将三个变量的地址作为参数传入。最后将 `max` 函数的返回值打印出来即可。
用c语言利用指针变量求10个数中的最大值。
可以使用循环遍历数组,利用指针变量找到最大值。以下是一份示例代码:
```c
#include <stdio.h>
int main() {
int arr[10] = {1, 9, 5, 7, 3, 8, 2, 6, 4, 0};
int *ptr = arr; // 指向数组的指针
int max = *ptr; // 初始化最大值为第一个元素
for (int i = 0; i < 10; i++) {
if (*(ptr + i) > max) { // 利用指针访问数组元素
max = *(ptr + i);
}
}
printf("最大值为:%d\n", max);
return 0;
}
```
输出结果为:最大值为:9