[問題] 一些基本運算的數學函式

看板C_and_CPP作者 (★GY大★)時間15年前 (2010/04/18 08:58), 編輯推噓2(2015)
留言17則, 6人參與, 最新討論串1/1
想請問一下,sqrt(x)在c語言裡會直接被認定為一個數嗎? 因為剛剛我寫了一個程式 int hypotenuse (int z) { a=x*x+y*y; z=sqrt( a ); return z ; } 他發生了錯誤 error C2065: 'sqrt' : undeclared identifier sqrt exp log 等等的數學函式,在c語言不是會自動認定等於1個數 就是sqrt(900.0)=30.0 sqrt(25.0)=5.0 難道是我之前上課聽錯嗎.... 請教一下各位 謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.64.151.230

04/18 17:00, , 1F
你 #include <math.h> 了嗎??
04/18 17:00, 1F

04/18 17:01, , 2F
另外, 雖然錯誤訊息有時候會誤導人, 但是你還是可以先學
04/18 17:01, 2F

04/18 17:01, , 3F
著看懂你的compiler在跟你argu什麼事情:)
04/18 17:01, 3F

04/18 17:02, , 4F
感謝V大~馬上點醒了我 XDD~
04/18 17:02, 4F

04/18 17:03, , 5F
()裡面放變數跟常數是不一樣的 .. 常數可以被compiler
04/18 17:03, 5F

04/18 17:03, , 6F
處理掉 變數就要runtime運算了啊
04/18 17:03, 6F

04/18 17:04, , 7F
還有 z 是int耶
04/18 17:04, 7F

04/18 17:06, , 8F
我改了~改成double了!!
04/18 17:06, 8F

04/18 17:15, , 9F
這個函式....orz
04/18 17:15, 9F

04/19 00:45, , 10F
hypotenuse -> 直角三角形斜邊, 可是你這函式傳z進去幹
04/19 00:45, 10F

04/19 00:46, , 11F
什麼呢? 你要傳x和y進去然後return z吧...
04/19 00:46, 11F

04/19 00:47, , 12F
我想james732的orz是這麼來的...
04/19 00:47, 12F

04/19 00:48, , 13F
還有原po的id很好笑...ggyy940 -> 雞雞歪歪就是你! 哈~
04/19 00:48, 13F

04/19 00:49, , 14F
你是左宗棠, 還是于右任?
04/19 00:49, 14F

04/19 00:55, , 15F
個人覺得函式的參數不是這樣用的 orz 我也討厭全域變數
04/19 00:55, 15F

04/27 16:29, , 16F
感謝各位大大提供的意見~小弟把他改的簡潔一點了XDD~
04/27 16:29, 16F

04/27 16:30, , 17F
因為是第一次寫呼叫程式..所以寫很差 囧''
04/27 16:30, 17F
文章代碼(AID): #1Boicz_N (C_and_CPP)