c语言宏替换

#include<stdio.h>
#include<stdlib.h>
void fun(float *p1,float *p2,float *s)
{ s = (float *)calloc(1,sizeof(float));
*s = *p1 + *p2 ++;
}
main()
{ float a[2] = {1.1,2.2},b[2] = {10.0,20.0},*s = a;
fun(a,b,s); printf("%5.2f\n",*s);
}
这是个选择题,我选11.10不正确,答案是1.10,请大家帮讲解一下

形参的变化不影响实参。*s=a也是a[0]的地址,故就是a[0]
温馨提示:答案为网友推荐,仅供参考
相似回答