利用malloc函数开辟动态存储单元,存放输入的三个整数,然后求这三个数中的最大值
时间: 2024-11-06 17:20:48 浏览: 28
在C语言中,`malloc()` 函数用于动态地分配内存空间,允许你在程序运行期间请求额外的内存。下面是使用`malloc()`获取内存,并存储三个整数,然后找到它们的最大值的一个简单示例:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
// 动态分配存储三个整数的空间
int* arr = (int*) malloc(3 * sizeof(int)); // 乘以3是因为我们需要连续的三个整数空间
if (arr == NULL) { // 检查malloc是否成功
printf("Memory allocation failed.\n");
return 1;
}
// 输入三个整数
printf("Enter three integers: ");
scanf("%d %d %d", &arr[0], &arr[1], &arr[2]);
// 求最大值
int max = arr[0];
if (arr[1] > max) {
max = arr[1];
}
if (arr[2] > max) {
max = arr[2];
}
// 输出最大值
printf("The maximum value is: %d\n", max);
// 释放内存
free(arr); // 确保不再使用后释放内存
return 0;
}
```
在这个例子中,我们首先检查`malloc()`返回的指针是否为`NULL`,如果不为`NULL`,我们就能够访问这块动态分配的内存区域。接着读取用户输入的三个整数,并通过比较更新最大值。最后别忘了在不需要内存时调用`free()`函数释放它,以防止内存泄漏。
阅读全文