使用malloc函数输入n个整数判断最大数
时间: 2023-08-06 07:04:56 浏览: 94
下面是一个示例代码,可以输入n个整数,并判断其中的最大值:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int n, i, max, num;
int *arr;
printf("请输入整数个数n:");
scanf("%d", &n);
arr = (int *) malloc(n * sizeof(int)); // 动态分配n个整数的内存空间
printf("请输入%d个整数:", n);
for (i = 0; i < n; i++) {
scanf("%d", &num);
arr[i] = num;
}
// 找出最大值
max = arr[0];
for (i = 1; i < n; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
printf("最大值为:%d\n", max);
free(arr); // 释放内存空间
return 0;
}
```
在程序中,先使用`malloc`函数动态分配了n个整数的内存空间,然后再通过循环输入n个整数,并将它们保存在动态分配的内存空间中。接着,遍历这些整数,找出其中的最大值并打印出来。最后,使用`free`函数释放动态分配的内存空间。
需要注意的是,在使用`malloc`函数动态分配内存空间后,务必要在程序结束前使用`free`函数释放这些内存空间,以避免内存泄漏问题。
阅读全文