这个C语言程序怎么写啊!利用malloc函数开辟动态存储单元,顺序存放输入的10个整数,然后求这10个整数中的最大值。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int max = arr[0],i;
int *arr = (int *)malloc(10 * sizeof(int));
if (arr == NULL)
{
printf("内存分配失败\n");
exit(1);
}
printf("请输入 10 个整数:\n");
for ( i = 0; i < 10; i++)
{
scanf("%d", &arr[i]);
}
for ( i = 1; i < 10; i++)
{
if (arr[i] > max)
{
max = arr[i];
}
}
printf("最大值为:%d\n", max);
free(arr);
return 0;
}
#include <stdio.h>
#include <stdlib.h> // 为了使用malloc函数
int main() {
int n = 10; // 数组大小为10
int* arr = (int*)malloc(n * sizeof(int)); // 动态分配空间,开辟一个长度为n的int类型的数组,返回指向数组的指针
// 读取输入的10个整数
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
int max_val = arr[0]; // 初始值为第一个数
// 找出数组中最大的数
for (int i = 1; i < n; i++) {
if (arr[i] > max_val) {
max_val = arr[i];
}
}
printf("最大值为:%d\n", max_val);
free(arr); // 释放动态分配的内存
return 0;
}
#include<stdio.h>
int main()
{
int a;
printf("请输入字符串长度");
scanf("%d",&a);
int *pa;
pa=(char *) malloc(a*sizeof(char));
if(pa==NULL)
{
printf("内存分配失败!!!");
}
printf("请输入字符");
getchar();
int i;
for(i=0;i<a;i++)
{
scanf("%c",pa+i);
}
for(i=0;i<a;i++)
{
printf("%c",*(pa+i));
}
return 0;
}
【运行结果】
虽然这里使用了两种方法,但是这两种方法有很大的区别,特别是在存储位置上面。