[問題] 函式新手問題

看板C_and_CPP (C/C++)作者 (@@)時間16年前 (2009/09/12 12:52), 編輯推噓1(104)
留言5則, 4人參與, 最新討論串1/1
三年前被當的程式 最近想開始自己研究了 目前才看到涵式的部份 我本來是想寫出1~10開根號 可是好像因為不是有理數的關係表達不出來 後來試試看4開根號 16開根號 結果都變0 程式碼如下 #include "stdafx.h" #include "math.h" int main(int argc, char* argv[]) { int x=16; printf("%d\n", sqrt(x) ); return 0; } 想了蠻久了 還是想不出為什麼.. 我知道這問題很簡單的樣子 不過就是想不出來= = 新手指南 我看到第四點以後就看不懂了.. 麻煩各位指點一下 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.161.113.184

09/12 12:58, , 1F
以解決改成%f就行了 不過4跟16明明就是int...
09/12 12:58, 1F

09/12 13:02, , 2F
你要不要去看一下sqrt的回傳值是什麼...?
09/12 13:02, 2F

09/12 13:02, , 3F
double sqrt(double x);
09/12 13:02, 3F

09/12 13:02, , 4F
函式原型
09/12 13:02, 4F

09/12 13:45, , 5F
000000000 40800000 所以當然是 0 阿
09/12 13:45, 5F
文章代碼(AID): #1AgoaJJ6 (C_and_CPP)
文章代碼(AID): #1AgoaJJ6 (C_and_CPP)