C语言程序改错:移动一维数组元素
#include <stdio.h> #define N 80
void fun(int *w, int p, int n) { int i,k=0; int b[N]; // 修改:添加数组b的声明 for(i=p+1; i < n; i++) b[k++]=w[i]; // 修改:将i的初始值改为p+1 for(i=0; i <= p; i++) b[k++]=w[i]; // 修改:将k的自增操作放在后面 for(i=0; i < n; i++) w[i]=b[i]; }
int main() { int a[N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}; int i,p,n=15; printf("The original data:\n"); printf("\n\nEnter p: ");scanf("%d",&p); fun(a,p,n); printf("\nThe data after moving:\n"); for(i=0; i < n; i++) printf("%d ",a[i]); printf("\n\n"); return 0; // 修改:添加返回值 }
原文地址: https://www.cveoy.top/t/topic/pblH 著作权归作者所有。请勿转载和采集!