10-4
#include<stdio.h>
void set_idx(int *v,int n)
{
int i;
for(i=0;i<n;i++){
v[i]=99;
printf("%d\n",v[i]);
}
}
int main()
{
int n;
int i;
puts("几个数组");
scanf("%d",&n);
int a[n];
puts("输入数组的值");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
set_idx(a,n);
return 0;
}
运行结果
10-5
#include<stdio.h>
void ary_set(int v[],int n,int val)//*v指针指向的
{
int i;
for(i=0;i<n;i++){
v[i]=val;
}
}
int main()
{
int i;
int a[]={1,2,3,4,5};
ary_set(&a[2],1,99);
for(i=0;i<5;i++){
printf("a[%d]=%d\n",i,a[i]);
}
return 0;
}
运行结果
分析:在主函数中的我们调用第一个函数,括号里面的那个第一个值变成了&a【2】传过去那个v【】等价于*v指针,指向于那个&【2】的地址,然后执行两次(n=2)包括自己咯2,3完事赋值99就🆗了。