C語言pow()函數(shù)實現(xiàn)求x的y次方的值
C語言 pow() 函數(shù)用來求 x 的 y 次方的值。
頭文件:math.h
語法/原型:
double pow(double x,double y);
參數(shù)說明:
- x:雙精度數(shù)。
- y:雙精度數(shù)。
返回值:x 的 y 次方的值。
【實例1】使用 pow() 函數(shù)求 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; }
運行結(jié)果:
4096.000000
【實例2】使用C語言 pow() 函數(shù)計算用戶輸入的數(shù)值的次冪。
#include <stdio.h> #include <math.h> int main() { double a, b; //定義兩個變量 printf("請輸入一個數(shù):"); //輸出提示信息 scanf("%lf", &a); //獲取用戶輸入的數(shù)值 printf("請輸入次冪數(shù):"); //輸出提示信息 scanf("%lf", &b); //獲取用戶輸入的數(shù)值 printf("result: %lf\n", pow(a, b)); //輸出結(jié)果 return 0; }
運行結(jié)果:
請輸入一個數(shù):10
請輸入次冪數(shù):4
result: 10000.000000
可能導致錯誤的情況:
- 如果底數(shù) x 為負數(shù)并且指數(shù) y 不是整數(shù),將會導致 domain error 錯誤。
- 如果底數(shù) x 和指數(shù) y 都是 0,可能會導致 domain error 錯誤,也可能沒有;這跟庫的實現(xiàn)有關(guān)。
- 如果底數(shù) x 是 0,指數(shù) y 是負數(shù),可能會導致 domain error 或 pole error 錯誤,也可能沒有;這跟庫的實現(xiàn)有關(guān)。
- 如果返回值 ret 太大或者太小,將會導致 range error 錯誤。
錯誤代碼:
- 如果發(fā)生 domain error 錯誤,那么全局變量 errno 將被設(shè)置為 EDOM;
- 如果發(fā)生 pole error 或 range error 錯誤,那么全局變量 errno 將被設(shè)置為 ERANGE。
到此這篇關(guān)于C語言pow()函數(shù)實現(xiàn)求x的y次方的值的文章就介紹到這了,更多相關(guān)C語言 求x的y次方的值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
自己實現(xiàn)strcpy函數(shù)的實現(xiàn)方法
本篇文章介紹了,自己實現(xiàn)strcpy函數(shù)的實現(xiàn)方法。需要的朋友參考下2013-05-05