在ARM上运行的奇怪有关问题,大家帮忙看下

在ARM上运行的奇怪问题,大家帮忙看下。
目标板CPU使用 Atmel Cortex-A5,结果在应用程序中有个奇怪的现象。
在函数中使用 sinf 函数,如果sinf中的参数是变量,函数的结果都是0,如果是常量可以计算出正常结果。
比如 sinf(0.15475) 计算是正确的,但是float a = 0.15475; sinf(a) 的结果就是0 。
帮忙看看,谢谢大家了。
------解决思路----------------------
没有遇到你说的问题,你可以贴出代码来看看,你是不是sinf(a)的返回值赋给int变量了?
------解决思路----------------------
y@ubuntu:~/linux/pthread$ gcc -o sin testsin.c  -lm
y@ubuntu:~/linux/pthread$ ./sin 
first val: 90.000000  sinf_val: 0.893997
second val: 90.000000  sinf_val: 0.893997
third val: 90.000000  sinf_val: 0.893997