#include <stdio.h>
#include <stdlib.h>
void trans(int n,int a[n],int m){
int b[m];
int i,j=0;
for(i=n-m;i<n;i++){
b[j++]=a[i];
}
for(i=n-m-1,j=n-1;i>=0;i--){
a[j--]=a[i];
}
for(i=0;i<m;i++){
a[i]=b[i];
}
for(i=0;i<n;i++){
printf("%d ",a[i]);
}
}
int main()
{
int *a,n,m;
a=(int *)malloc(n*sizeof(int));//动态内存申请,从heap里申请空间
if(!a) printf("无足够内存"),exit(1);
int i;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
scanf("%d",&m);
trans(n,a,m);
free(a);
return 0;
}
为什么这个运行错误,显示为 调用禁止文件,难道这个题不能通过 动态数组来做吗?求解答,谢谢
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题10.1 (Java代码)浏览:1484 |
分糖果 (C++代码)浏览:1517 |
C语言程序设计教程(第三版)课后习题1.5 (C++代码)浏览:772 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:563 |
众数问题 (C语言代码)浏览:882 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:635 |
回文数字 (C语言代码)浏览:2529 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:575 |
矩阵加法 (C语言代码)浏览:1756 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:1476 |