各位大虾请帮帮手:以下程序想要在数组被赋值后再次清除为各元素为零,但没有成功。其结果是函数clearArray 和initArray(y,SIZE,0)均没有改变数组的内容。
请教问题出在哪里?多谢
#include <stdio.h>
#define SIZE 50
int x[SIZE];
int y[SIZE];
int i;
void initArray(int ar[],int size,int n);
void clearArray(int ar[],int size);
void printArray(int ar[],int size);
void copyArray(void);
int main()
{
printf("The initial array1 is :\n");
initArray(x,SIZE,4);
printArray(x,SIZE);
copyArray();
printArray(y,SIZE);
clearArray(y,SIZE);
printArray(y,SIZE);
for(i=0;i<SIZE;i+=1)
y=0;
printArray(y,SIZE);
initArray(y,SIZE,0);
printArray(y,SIZE);
getchar();
return 0;
}
void initArray(int ar[],int size,int n)
{
for(i=0;i<size;i++)
{
ar=i*n;
}
}
void clearArray(int ar[],int size)
{
for(i=0;i<size;i++)
{
ar=0;
}
}
void printArray(int ar[],int size)
{
printf("%4d\t%4d\t%4d\t%4d\t%4d\n",1,2,3,4,5);
printf("---------------------------------------\n");
for(i=1;i<=SIZE;i++)
{
printf("%4d\t",x[i-1]);
if(i>0 && (i%5==0))
printf("%c",'\n');
}
printf("---------------------------------------\n");
}
void copyArray(void)
{
for(i=0;i<SIZE;i++)
y=x;
}