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!

推薦閱讀: