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

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

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語言為什麼主函式呼叫函式average的實參是陣列名score,而不是整個陣列

如果一個函式以一維陣列為引數,我們可以這樣宣告這個函式 void func int a void func int a void func int a 3 實際上,這三種形式是等價的,在使用陣列做引數時,編譯器會自動將陣列名轉換為指向陣列第一個元素的指標,為什麼呢?這要從引數的傳遞方式說起,引數有三...

isalpha函式怎麼用,請問C語言中,isalpha函式,測試,如果輸入的是一個數字,用的是0,那大寫字母和小寫字母該

函式 isalpha 原型 int isalpha int ch 用法 標頭檔案加入 include 舊版本的編譯器使用 功能 判斷字元ch是否為英文字母,當ch為英文字母a z或a z時,在標準c中相當於使用 isupper ch islower ch 做測試,返回非零值 不一定是1 否則返回零。...

c語言和c中主函式main的括號中為什麼可以有引數

這是因為 主函式main並非程式的真正入口 在編譯器對你的工程檔案進行編譯時,它是內先找到你的main函式容,然後根據main函式型別,把一段字首入口程式預先編譯,再讓它去呼叫main函式.當你的main函式需要引數時,它就編譯有引數main函式呼叫,反之則編譯無引數main函式呼叫.所以編譯器是自...