难道n没有得到NUM的值吗?
#include <stdio.h>#include <stdlib.h>
#define NUM 10
void arrout( int w[],int m)
{int k;
for (k=0;k<m;k++)printf("%d ",w[k]);
printf("\n");
}
int getindex(int n)
{int i;
do{
printf("\nEnter the index[0<=i<%d]:",n);
scanf("%d",&i);}
while(i<0||i>n-1);
return i;
}
int arrdel(int *w,int n,int k)
{int i;
for (i=k;i<n-1;i++)w[i]=w[i+1];
n--;return n;
}
main()
{int n=NUM,d;
int a[NUM]={23,55,76,545,5767,4242,45445,464,232};
printf("output primary data:\n");
arrout(a,n);
d=getindex(n);
n=arrdel(a,n,d);
printf("output the data after delete:\n");
arrout(a,n);
system("PAUSE");
return 0;
}
这样子程序是可以运行出要的结果来。可是,若是把main函数里的第二行改成int a[n]={23,55,76,545,5767,4242,45445,464,232};
机器就显示出错信息。为什么呢,我前面不是把NUM的值赋给了n了吗?n 为什么没有得到NUM的值的呢?