输入3个整数,输出其中最大数.要求用指针变量实现
时间: 2024-12-18 19:32:31 浏览: 16
如果你想用指针变量在C语言中找出并输出三个整数中的最大值,可以这样做:
```c
#include <stdio.h>
#include <limits.h> // 包含 INT_MAX 用于比较
void findMax(int* arr, int* max) {
if(arr && arr[0] != INT_MIN) { // 检查指针是否有效且第一个数不是最小值
*max = *arr; // 初始时假设第一个元素是最大的
for (int i = 1; i < 3; i++) { // 遍历剩余的两个元素
if (*arr > *max) { // 如果当前元素比最大值大
*max = *arr; // 更新最大值
}
arr++; // 移动指针到下一个元素
}
} else {
printf("无效的输入或数组只有一个元素.\n");
}
}
int main() {
int numbers[] = {5, 2, 9}; // 定义一个包含3个整数的数组
int maxNumber;
findMax(numbers, &maxNumber); // 将数组首地址传给 findMax 函数,同时传入指针 maxNumber 来存储结果
if(maxNumber != INT_MIN) { // 如果找到了最大值
printf("这三个整数中的最大值是:%d\n", maxNumber);
}
return 0;
}
```
这里 `findMax` 函数接收一个整型指针和另一个指针来保存最大值。它遍历数组,每次都检查当前指针所指向的数值是否大于之前找到的最大值。如果找到更大的,就更新最大值。
在 `main` 函数中,我们创建了包含三个整数的数组,并将数组的第一个元素的地址和 `maxNumber` 的地址传递给 `findMax` 函数。函数结束后,`maxNumber` 中存储的就是最大值。
阅读全文