[問題] 次方問題

看板C_and_CPP作者 (我是誰)時間13年前 (2010/09/20 23:13), 編輯推噓3(3014)
留言17則, 11人參與, 最新討論串1/1
小弟想問一個次方的問題 下面這個程式是在寫X的Y次方 #include <stdio.h> #include <math.h> void main() { int x,y; printf("input x^y :"); scanf("%d^%d",&x,&y); printf("%d",pow(x,y)); } 可是為什麼這樣寫出來的結果都是0 如果把X,Y改成double才有值@@" 希望大家不要覺得我的問題太笨~"~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.39.35.195

09/20 23:19, , 1F
你用的編譯器是?
09/20 23:19, 1F

09/20 23:21, , 2F
codeblock
09/20 23:21, 2F

09/20 23:21, , 3F
(int)pow(x,y)
09/20 23:21, 3F

09/20 23:22, , 4F
pow 引數似乎沒有整數的.參考 http://ppt.cc/;P1~
09/20 23:22, 4F

09/20 23:23, , 5F
會想問是因為我剛剛跑int版本編譯不會過 (VC2010)
09/20 23:23, 5F

09/20 23:26, , 6F
thanks^^
09/20 23:26, 6F

09/20 23:34, , 7F
回5F:vc2008也不會過,(int)pow((float)x,y)) 這樣就過
09/20 23:34, 7F


09/21 00:10, , 9F
我用 GCC 會出 warning, 我想 MinGW 應該也會有...
09/21 00:10, 9F

09/21 00:10, , 10F
不過會過是真的...
09/21 00:10, 10F

09/21 00:17, , 11F
回樓上, MinGW 我加了 -Wall 一樣沒事情發生
09/21 00:17, 11F

09/21 08:58, , 12F
真的開學了
09/21 08:58, 12F

09/21 17:32, , 13F
codeblock不是編譯器吧~~~
09/21 17:32, 13F

09/21 17:49, , 14F
Codeblocks是IDE吧XD
09/21 17:49, 14F

09/24 16:16, , 15F
其實 只要把第一個參數改成double或 float就可了
09/24 16:16, 15F

09/24 16:17, , 16F
部要忘記pow()出來的結果為浮點數的, 所以要強制轉型成int
09/24 16:17, 16F

09/24 16:20, , 17F
大一計概喔~~ 加油!!!
09/24 16:20, 17F
文章代碼(AID): #1CbteZbo (C_and_CPP)