爲何本身實現一個pow()函數呢?昨天在Linux操做系統中調用這一個函數時,一直報錯,也沒有查找到具體的緣由。故心血來潮實現這一函數功能。
函數所在頭文件:
在"math.h"頭文件中
函數原型dom
1 double pow (doublebase,double exponent);
函數功能
求base的exponent冪,即求某個數的多少次冪函數
函數參數
base :基數(double類型)
exponent :冪值,即進行多少次冪的值spa
函數返回值
若是成功執行,返回求得某個數的多少次冪的值;不然,返回錯誤。操作系統
實例一:pow()函數簡單使用code
1 #include<stdio.h> 2 #include<math.h> 3 4 int main(void) 5 { 6 double value1 = pow(2.0,3.0); 7 printf("value1 = %f\n", value1); 8 9 double value2 = pow(2.22,3.0); 10 printf("value2 = %f\n", value2); 11 12 double value3 = pow(5.21,4.11); 13 printf("value3 = %f\n", value3); 14 15 return0; 16 }
運行結果:
blog
實例二:pow()函數實現代碼原型
1 #include<stdio.h> 2 #include<math.h> 3 //實現pow()函數 4 double mypow(double num,double n) 5 { 6 double value =1; 7 int i =1; 8 if(n ==0) 9 { 10 value =1; 11 } 12 else 13 { 14 while(i++<= n) 15 { 16 value *= num; 17 } 18 } 19 return value; 20 } 21 22 int main(void) 23 { 24 double value1 = mypow(2.0,3.0); 25 printf("value1 = %f\n", value1); 26 27 double value2 = mypow(2.22,3.0); 28 printf("value2 = %f\n", value2); 29 30 double value3 = mypow(5.21,4.11); 31 printf("value3 = %f\n", value3); 32 33 return0; 34 }
運行結果
it
操做注意:
可能致使錯誤的狀況:io
在使用"math.h"頭文件裏面的庫函數時,在Linux系統上進行GCC編譯時,須要在命令後面加上"-lm"(連接庫函數的文件);不然會報錯。編譯