输入n和x,n和x分别表示对数组前n个元素赋值初值

输入n和x, n和x分别表示对数组前n个元素赋初值为x,要求定义一个函数value,完成对一维整形数组的n个元素进行赋值,具体赋值为x.

#include<stdio.h>
int value(int *p,int x,int n)
{
int i=0;
for(i;i<n;i++)
{
p[i]=x;
}
return *p;
}
int main()
{
int *a;
int i,x,n;
scanf("%d %d",&n,&x);
value(*a,x,n);
for(i=0;i<n;i++)
printf("%d ",a[i]);
}
哪边错了啊

int value(int *p,int x,int n)
{
int i=0;
for(i;i<n;i++)
{
p[i]=x;
}
return *p;
} 你的返回类型是int,所以你要返回int的东西。return *p;这里错了,可以不返回的,直接void

int *a;定义也错了,你应该定义一个数组吧

算了,我写给你参考一下
#include<stdio.h>
void value(int *p,int x,int n)
{
int i=0;
for(i;i<n;i++)
{
p[i]=x;
}
}
int main()
{
int a[100];
int i,x,n;
scanf("%d %d",&n,&x);
value(a,x,n);
for(i=0;i<n;i++)
printf("%d ",a[i]);
}
温馨提示:答案为网友推荐,仅供参考
相似回答