計算數學公式的編譯錯誤問題
程序代码:
#include<stdio.h> #include<stdlib.h> double power(double base,int n) { int i; double pow=1.0; for(i=1;i<=n;i++) { pow=pow*base; } return pow; } int fac(int n) { int i,sum=1; for(i=1;i<=n;i++) { sum=sum*i; } return sum; } double my_fun(double x,int n) { int k; double sum=0.; for(k=1;k<=n;k++) { sum=sum+power(-1,k)*power(x,2k+1)/fac(2k+1); } return sum; } int main() { printf("my_fun(2.2,3)=%f\n",my_fun(2.2,3)); printf("my_fun(2.2,5)=%f\n",my_fun(2.2,3)); system("pause"); return 0; }
這句出現編譯錯誤: sum=sum+power(-1,k)*power(x,2k+1)/fac(2k+1);
錯誤訊息:error: fixed-point types not supported for this target