c語言pow函式,C語言pow函式

2021-06-26 19:16:59 字數 4105 閱讀 5525

1樓:丿

pow()函式用來求x的y次冪,x、y及函式值都是double型 ,其原型為:double pow(double x, double y)。

例項**如下:

#include

#include

void main()

double x = 2, y = 10;

printf("%f\n",pow(x, y));

return 0;

擴充套件資料

在呼叫pow函式時,可能導致錯誤的情況:

如果底數 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。

2樓:暢瑛殳鴻熙

pow函式是c語言的一個庫函式。

函式原型:double

pow(double

x,double

y);功

能:計算x^y返回

值:計算結果

舉例如下:

double x = 3.14, y=2, z;

z = pow(x, y); // 計算x^y,即3.14的平方注:使用pow函式的時候,需要將標頭檔案#include包含進原始檔中。

3樓:韌勁

1,要加入標頭檔案 math.h

2,pow(x,y);//其作用是計算x的y次方。x、y及函式值都是double型

例:我要計算2的5次方

源**如下:

#include"stdio.h"

#include"math.h"

main()

4樓:戲齊裴和暖

兩個都可以,剛才已經執行了程式。

#include

#include

intmain(int

argc,

char

*argv)

5樓:匿名使用者

原型:extern float pow(float x, float y);

用法:#include

功能:計算x的y次冪。

說明:x應大於零,返回冪指數的結果。

舉例:// pow.c

#include

#include

main()

6樓:奉盛禹如蓉

double

pow(

double

x,doubley);

都合法,但最好都轉成double用

7樓:堯津過博雅

printf("%f\n", pow(2,3));

c語言中不用pow函式,冪怎麼表示?

8樓:旅芳澤皇孤

比如要求4的5次冪,可通過迴圈來實現,

inti,sum=1;

for(i=0;i<5;i++)

sum=sum*4;

我只寫主要部分,其餘的自己解決。

9樓:匿名使用者

double mi(double x,int e)//x表示底數,e表示指數,呼叫方法的時候需要專輸入引數x和e的值。為精屬確,x採用double型;

println("%d\n",answer);

return answer;//返回值為需要的冪。

}//若e=mi(2,3);e即為8.

c語言pow函式問題

10樓:丿

pow()函式用來求x的y次冪,x、y及函式值都是double型 ,其原型為:double pow(double x, double y)。

例項**如下:

#include

#include

void main()

double x = 2, y = 10;

printf("%f\n",pow(x, y));

return 0;

擴充套件資料

在呼叫pow函式時,可能導致錯誤的情況:

如果底數 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。

11樓:匿名使用者

一、double型別必須要用%f或%lf輸出,否則會影響到其後的所有變數的值!

二、pow函式返回值型別是double型別,當不需要小數時,且,未超出整數範圍時,可以儲存到int型別中

12樓:匿名使用者

用int儲存pow函式的結果,或者說用int儲存doublue數值,當然是可以的。但要明白,這會造成數值溢位、精度損失這些問題。

你的執行結果不是用或者不用int變數儲存導致的,實際上顯示結果只與呼叫printf這個函式時的引數有關係。建議你仔細瞭解一下printf函式的細節。

c語言pow()函式問題。

13樓:都城羊谷芹

應該浮點型整型數點面資料丟失造精度準確程式實參a,b,c都整型所warning資料精度丟失

14樓:古爾格

//樓下的說的都對,那我給你提供一個另外的方法的,直接不使用math標頭檔案裡的函式,利用其原理自己編寫一個可以隨意改變型別的函式。

//↓↓↓這是int的。

#include

int pow(int x,int y)

void main()

15樓:匿名使用者

應該可以的,不過如果從浮點型到整型,小數點後面的資料會丟失的,造成精度不準確。你的程式裡實參a,b,c都是整型,所以會有warning,資料精度丟失。

16樓:落花有情

這個是不行的,但你可以強制轉化為int

17樓:

朋友,pow函式的原型是double pow(double x,double y),返回值是double型的x的y次方的值。對於形參x、y,傳入比double型“短”的實參是正常的且不告警。這是因為,c/c++有約定,當一個“短”型值賦給一個“長”型值時,自動將“短”型值提升為“長”型值。

所以你這裡用兩個int型的變數a、b充當pow的實參是完全合理合法的。但是,把pow(a,b)的返回值賦給int型變數c就不完全合法了,因為這是把“長”型值賦給一個“短”型值,會有精度損失,所以系統要提醒你是否出錯了,就要警告。解決辦法當然是把c宣告為double型;但如果邏輯上只需要返回值的整數部分的話也可以c=(int)pow(a,b);。

這樣系統就知道你是有意取整,而不是疏忽,就不會告警了。僅供參考……

18樓:孟羽然

printf("%f\n", pow(2,3));

19樓:sunny鞦韆墜

可以,但是返回值是double 型別,得到的結果不精確,經常會的到的結果相差1

C語言的庫函式是系統提供的嗎,C語言中 主函式是系統提供的標準函式 這句話是否正確,為什麼!?? 謝啦!

庫是由系統提供,也有部分庫是由第三方軟體提供。庫函式 可以分為系統庫函式和自己編寫的庫函式。對於系統提供的庫函式,一般存放在系統指定的目錄下 lib之內。但是這些庫都是編譯成可鏈結的檔案,你不能直接看到源 可以再include資料夾裡找到這些函式的宣告和一些巨集或者常量的定義。對於使用者自己的庫函式...

c語言strrev函式,c語言作業,求助!

標頭檔案 include strrev 函式作用 將字串逆置,其原型為 char strrev char str 引數說明 str為要逆置的字串。strrev 將str所指的字串逆置。返回值 返回指向逆置後的字串的指標。strrev 不會生成新字串,而是修改原有字串。因此它只能逆置字元陣列,而不能逆...

C語言指標建立函式問題,C語言指標呼叫函式問題,急求解釋(本題是《c和指標》上的題目)

第乙個表示傳遞graphadjlist型別的引用g,第二個表示傳遞graphadjlist型別的指標g 另外這是c 不是c。c語言指標呼叫函式問題,急求解釋 本題是 c和指標 上的題目 c語言指標作函式引數時的返回問題 首先,弄懂函式引數都是靠值傳遞。指標也是。進入函式後,函式建立幾個空間給形參,再...