遇到了一个问题。程序如下:#include<stdlib.h>
#include<stdio.h>
void fun(float *p1,float *p2,float *s)
{
s=(float*) calloc (1,sizeof(float));
*s=*p1+*p2++;
}
void 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
可是,我觉得答案应该是:11.10
调试程序之后,发现是calloc函数那里貌似有点疑惑。
跪求解释~~为什么是1.10?!!!