c語言請問為什麼這兒pow函式會報錯

2021-06-26 19:17:00 字數 5061 閱讀 8226

1樓:摩羯沁潔

=vlookup(d4,$a$2:$b$111,3,0),引數table_array為$a$2:$b$111,一共只有兩列,引數table_array,col_index_num≤2,而你輸入的是3,當然返回quot;#n/aquot;。

c語言 請問為什麼這兒pow函式會報錯?

2樓:匿名使用者

檢查你的c++安裝目錄下\include子目錄下的標頭檔案math.h,該檔案是否被替代、重編、刪減,其中pow**是否存在。

還可以在編譯後生成的atoi.lst檔案中查詢錯誤原因。

3樓:多才的英語達人

pow函式c語言中的指數函式,屬於c語言自帶函式。 power函式在c語言中沒有,只在c++中出現,屬於c++的stl庫中的自定義函式,使用方法和pow差不多。

pow函式的使用:

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

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

例:計算2的5次方。

源**如下:

#include"stdio.h"

#include"math.h"

main()

c語言,鍵盤輸入123 456 8回車 然後 為什麼輸出的b和pow()函式都等於零呢?

4樓:

不可能是你說的那樣子:b不會是0;pow結果是0是因為輸出函式錯用了%d,改為就可以了……看**:

5樓:旅初彤

輸出b=0是編譯器的問題吧,我使用vc++6.0編譯的,變數b有值

pow函式返回的是一個浮點型數值,你使用%d輸出的是整型,你換成浮點型輸出試一下

pow函式為什麼不能傳遞long

6樓:匿名使用者

pow出的結果本身是double型的,書上寫的是double pow(double a,double b),,就像定義double型引數j=2.3,你不能用%d輸出,但是如果定義整型i,i取得的就只是整數部分

c語言pow函式

7樓:丿

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。

8樓:暢瑛殳鴻熙

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包含進原始檔中。

9樓:韌勁

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

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

例:我要計算2的5次方

源**如下:

#include"stdio.h"

#include"math.h"

main()

10樓:戲齊裴和暖

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

#include

#include

intmain(int

argc,

char

*argv)

11樓:匿名使用者

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

用法:#include

功能:計算x的y次冪。

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

舉例:// pow.c

#include

#include

main()

12樓:奉盛禹如蓉

double

pow(

double

x,doubley);

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

13樓:堯津過博雅

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

c語言pow函式問題

14樓:丿

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。

15樓:匿名使用者

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

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

16樓:匿名使用者

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

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

c語言pow()函式問題。

17樓:都城羊谷芹

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

18樓:古爾格

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

//↓↓↓這是int的。

#include

int pow(int x,int y)

void main()

19樓:匿名使用者

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

20樓:落花有情

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

21樓:

朋友,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);。

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

22樓:孟羽然

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

23樓:sunny鞦韆墜

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

c語言中怎樣用pow函式和pow10函式

24樓:

#include

或#include

25樓:戢雁易

pow(x,y)x是底數,y是指數, 你的pow10 沒看懂是什麼意思

c語言裡面怎麼使用pow函式艾比如我要計算10的次

include include 必須引用頭文來件 int main c語言中的pow函式怎麼使用 pow 函式用來求x的y次冪,x y及函式值都是double型 其原型為 double pow double x,double y 例項 如下 include include void main 擴充套...

c語言中,temp是什麼函式,C語言中,temp是什麼函式

在c語言中,temp沒有特別的含義,既不是關鍵字也不是庫函式。可能是程式設計人員自版定義的權一個變數或函式,通常用來表示一個臨時變數,來自 臨時 的英文單詞temporary。舉例如下 int temp 定義一個int型別的變數,變數名為temp double temp 定義一個double型別的變...

c語言printf函式運算順序為什麼從右到左

不是printf函式運算復順序為什麼從右到制左,而是類似的所bai有函式,包括算du定義函式的參zhi數計算都是從右至左。函式數有dao多個引數時計算總得有個順序吧?不是從左至右,就是從右至左,抑或從中間向兩邊 一句話選定一個順序後就 大家都這麼辦 總不能有些函式從左至右,有些函式從右至左吧,那編譯...