【发布时间】:2017-03-06 03:11:31
【问题描述】:
void f(int pv1, int *pv2, int *pv3, int pv4[]){
int lv = pv1+ *pv2 + *pv3 + pv4[0];
pv1= 11;
*pv2= 22;
*pv3= 33;
pv4[0]= lv;
pv4[1]=44;
}
int main(void){
int lv1=1, lv2=2;
int *lv3;
int lv4[]= {4,5,6};
lv3= lv4+2;
f(lv1, &lv2, lv3 , lv4);
printf("%i,%i,%i\n", lv1, lv2, *lv3);
printf("%i,%i,%i\n", lv4[0], lv4[1], lv4[2]);
return 0;
}
答案:1 22 33
我不明白怎么做。
我的工作: lv1=1, lv2=2, lv3 = lv4+2= 6, lv4[]= {4,5,6}
经过f()后, Lv1=11, lv2=22, lv3=33, lv4[0]=13 and lv4[1]=44
【问题讨论】:
-
pv1= 11;不影响lv1。 -
请添加一些说明您想要做什么以便可以检查错误
标签: c pointers parameters parameter-passing