float fSum(float f0,float f1) { return f0+f1; } void main() { float s; s=fSum(0.1f,0.2f); } //以上代码同时在main.c中运行正常 如果将fSum函数放到其它c文件,再调用就变成0,中断进入监视发现传参时f0,f1已变成0 ,有点怪 但把函数改为fSum函数位于其它c文件) void fSum(float* pf0,float* pf1,float* sum) { (*sum)=(*pf0)+(*pf1); } //____________________________________ void main() { float sum=0,f0=0.1,f1=0.2; fSum(&f0,&f1,&sum); } 这样不会出错,double类型的也是这个毛病。好怪,有人遇到过吗?怎么解决?请教!编译器IAR for Arm 8.30.1 |
float a;
a=f0+f1;
return a;
评分
查看全部评分
496这块依旧出错,但476这块居然特么正常,这是什么鬼?