更新时间2019-07-16 20:03:55
我是一个c语言初学者,然后程序如下:
#include "stdio.h"
void put(int *p,int number);
void put(int *p,int number)
{
int k;
for(k=0;k<number;k++)
printf("%4d",*(p+k));
}
void main()
{
int a[6];
int i,j;
for(i=0;i<3;i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&j);
put(&a[3],j);
}
在你的程序中,错在 put(&a[3],j); 已改为 put(&a,j);只有数组名才是此数组首元素的地址。程序如下:
#include "stdio.h"
void put(int *p,int number);
void put(int *p,int number)
{
int k;
for(k=0;k<number;k++)
printf("%4d",*(p+k));
}
void main()
{
int a[6];
int i,j;
for(i=0;i<3;i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&j);
put(&a,j);
}
程序的运行结果如下: