利用malloc函数开辟动态存储单元,存放输入的三个整数,然后按从小到大的顺序输出这三个数。(c语言不是c++)
时间: 2024-12-17 12:51:17 浏览: 11
在C语言中,你可以通过malloc函数动态地分配内存来存储整数,并使用数组结构来实现这个功能。以下是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int *nums; // 定义一个指向整数的指针
int input1, input2, input3;
// 分配存储三个整数的空间
nums = (int*) malloc(3 * sizeof(int)); // 检查malloc是否成功
if (nums == NULL) {
printf("Memory allocation failed.\n");
return 1;
}
// 输入三个整数
printf("Enter three integers: ");
scanf("%d %d %d", &input1, &input2, &input3);
// 将输入的值存入动态分配的内存
nums[0] = input1;
nums[1] = input2;
nums[2] = input3;
// 对数组进行排序并输出
for (int i = 0; i < 3; i++) {
for (int j = i + 1; j < 3; j++) {
if (nums[i] > nums[j]) {
int temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
}
}
printf("Numbers in ascending order: ");
for (int i = 0; i < 3; i++) {
printf("%d ", nums[i]);
}
// 释放已分配的内存
free(nums);
return 0;
}
```
在这个程序中,我们首先分配了可以存储三个整数的内存空间,接着读取用户输入并将它们存入内存。然后对这三数进行排序,并最后输出结果。注意,结束后别忘了用free函数释放动态内存,防止内存泄漏。
阅读全文