C語言pow()函數實現求x的y次方的值
C語言 pow() 函數用來求 x 的 y 次方的值。
頭文件:math.h
語法/原型:
double pow(double x,double y);
參數說明:
- x:雙精度數。
- y:雙精度數。
返回值:x 的 y 次方的值。
【實例1】使用 pow() 函數求 4 的 6 次方,其代碼如下:
#include <stdio.h> #include <math.h> int main() { double x = 4, y = 6; //為變量賦初值 double result = pow(x, y); //求a的b次方 printf("%lf\n", result); return 0; }
運行結果:
4096.000000
【實例2】使用C語言 pow() 函數計算用戶輸入的數值的次冪。
#include <stdio.h> #include <math.h> int main() { double a, b; //定義兩個變量 printf("請輸入一個數:"); //輸出提示信息 scanf("%lf", &a); //獲取用戶輸入的數值 printf("請輸入次冪數:"); //輸出提示信息 scanf("%lf", &b); //獲取用戶輸入的數值 printf("result: %lf\n", pow(a, b)); //輸出結果 return 0; }
運行結果:
請輸入一個數:10
請輸入次冪數:4
result: 10000.000000
可能導致錯誤的情況:
- 如果底數 x 為負數並且指數 y 不是整數,將會導致 domain error 錯誤。
- 如果底數 x 和指數 y 都是 0,可能會導致 domain error 錯誤,也可能沒有;這跟庫的實現有關。
- 如果底數 x 是 0,指數 y 是負數,可能會導致 domain error 或 pole error 錯誤,也可能沒有;這跟庫的實現有關。
- 如果返回值 ret 太大或者太小,將會導致 range error 錯誤。
錯誤代碼:
- 如果發生 domain error 錯誤,那麼全局變量 errno 將被設置為 EDOM;
- 如果發生 pole error 或 range error 錯誤,那麼全局變量 errno 將被設置為 ERANGE。
到此這篇關於C語言pow()函數實現求x的y次方的值的文章就介紹到這瞭,更多相關C語言 求x的y次方的值內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- C++ float、double判斷是否等於0問題
- C語言求階乘之和的三種實現方法(先階乘再累加)
- C語言通過gets和gets_s分別實現讀取含空格的字符串
- 使用C語言如何輸出逆序數
- C語言函數基礎教程分類自定義參數及調用示例詳解