(1)定义一个整型指针变量p,使它指向一个5个元素的一维数组.(2)使用指针移动的方式,输入5个整型数组元素.(3)定义一个整型指针变量q,使用malloc函数动态分配5个整型数的地址空间.(4)使用
来源:学生作业帮助网 编辑:六六作业网 时间:2025/02/03 21:35:48
(1)定义一个整型指针变量p,使它指向一个5个元素的一维数组.(2)使用指针移动的方式,输入5个整型数组元素.(3)定义一个整型指针变量q,使用malloc函数动态分配5个整型数的地址空间.(4)使用
(1)定义一个整型指针变量p,使它指向一个5个元素的一维数组.(2)使用指针移动的方式,输入5个整型数组元素.
(3)定义一个整型指针变量q,使用malloc函数动态分配5个整型数的地址空间.
(4)使用数组下标的方式输入5个整型元素.
(5)使用指针p和q分别访问两组数据,如果第一组数据对应位置的值大于第二组,则交换对应位置的值.
(6)分别输出交换后的两组数.
(7)按十六进制方式输出p、a和q的地址.
(1)定义一个整型指针变量p,使它指向一个5个元素的一维数组.(2)使用指针移动的方式,输入5个整型数组元素.(3)定义一个整型指针变量q,使用malloc函数动态分配5个整型数的地址空间.(4)使用
你好,完成以上功能的代码如下
根据你要求的malloc我觉得应该是用C语言来做吧!
如果我理解错了,请指正!
#include<stdio.h>
#include<stdlib.h>
int main(){
int a[5];
int *p=a; //完成(1)
int i;
printf("Please input:");
for(i=0;i<5;i++)
scanf("%d",p+i); //完成(2)
int *q=(int*)malloc(sizeof(int)*5); //动态分配内存空间 //完成(3)
printf("Please input:");
for(i=0;i<5;i++)
scanf("%d",q+i); //完成(4)
for(i=0;i<5;i++) //完成(5)
if(p[i]>q[i]){
int t=p[i];
p[i]=q[i];
q[i]=t;
}
for(i=0;i<5;i++) //完成(6)
printf("%d",p[i]);
putchar('\n');
for(i=0;i<5;i++)
printf("%d",q[i]);
putchar('\n');
printf("p=%x\n",p); //完成(6)
printf("a=%x\n",a);
printf("q=%x\n",q);
free(q);
q=NULL;//释放动态分配的内存
return 0;
}
执行结果: