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語言指標作函式引數時的返回問題 首先,弄懂函式引數都是靠值傳遞。指標也是。進入函式後,函式建立幾個空間給形參,再...