#include#includevoid fun(float *p1,float *p2,float *s){s=(float *)calloc(1,sizeof(float));*s=*p1+*p2++;}int 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);}为什么输出是1.10,求解fun到底发生了什么

问题描述:

#include
#include
void fun(float *p1,float *p2,float *s)
{s=(float *)calloc(1,sizeof(float));
*s=*p1+*p2++;
}
int 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);
}
为什么输出是1.10,求解fun到底发生了什么