看板 C_and_CPP 關於我們 聯絡資訊
小弟想問一個次方的問題 下面這個程式是在寫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
james732:你用的編譯器是? 09/20 23:19
iamyu58:codeblock 09/20 23:21
BSpowerx:(int)pow(x,y) 09/20 23:21
tropical72:pow 引數似乎沒有整數的.參考 http://ppt.cc/;P1~ 09/20 23:22
james732:會想問是因為我剛剛跑int版本編譯不會過 (VC2010) 09/20 23:23
iamyu58:thanks^^ 09/20 23:26
tropical72:回5F:vc2008也不會過,(int)pow((float)x,y)) 這樣就過 09/20 23:34
uranusjr:我用 GCC 會出 warning, 我想 MinGW 應該也會有... 09/21 00:10
uranusjr:不過會過是真的... 09/21 00:10
loveme00835:回樓上, MinGW 我加了 -Wall 一樣沒事情發生 09/21 00:17
alongalone:真的開學了 09/21 08:58
wawi:codeblock不是編譯器吧~~~ 09/21 17:32
herman602:Codeblocks是IDE吧XD 09/21 17:49
pabeni:其實 只要把第一個參數改成double或 float就可了 09/24 16:16
pabeni:部要忘記pow()出來的結果為浮點數的, 所以要強制轉型成int 09/24 16:17
pabeni:大一計概喔~~ 加油!!! 09/24 16:20