포인터 프로그램 질문입니다.
핫팬츠
질문 제목 : 포인터 프로그램 질문입니다.결과 값은 출력되는 데 실행창이 뜨면 에러 창이 같이 나옵니다. 그런데 그 이유을 알 수가 없어서 질문드립니다.
질문 내용 :
#include stdio.h
void print(int *a, int n);
void copy(int *a, int *b, int n);
void add(int *a, int *b, int *c, int n);
void subtract(int *a, int *b, int *c, int n);
int main(void)
{
int j=0;
int a[]={1,2,3,4,5};
int b[]={5,4,3,2,1};
int c[5]={0};
print(&a,5);
copy(&a,&b,5);
for(j=0;j5;j++);
{
*(b+j)=5-j;
}
add(&a,&b,&c,5);
subtract(&a,&b,&c,5);
return 0;
}
void print(int *a, int n)
{
int i=0;
for(i=0;i5;i++)
{
printf(%3d,*(a+i));
}
printf(\n);
}
void copy(int *a, int *b, int n)
{
int i=0;
for(i=0;i5;i++)
{
*(a+i)=*(b+4-i);
printf(%3d,*(b+4-i));
}
printf(\n);
}
void add(int *a, int *b, int *c, int n)
{
int i=0;
for(i=0;i5;i++)
{
*(c+i)=*(a+i)+*(b+i);
printf(%3d\n,*(c+i));
}
printf(\n);
}
void subtract(int *a, int *b, int *c, int n)
{
int i=0;
for(i=0;i5;i++)
{
*(c+i)=*(a+i)-*(b+i);
printf(%3d\n,*(c+i));
}
printf(\n);
}