[問題] 浮點數用scanf() %f讀不出值來

看板C_and_CPP (C/C++)作者 (達)時間12年前 (2013/12/12 14:12), 編輯推噓9(9035)
留言44則, 8人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Codeblocks 問題(Question): 書本上的例子 我改成我比較喜歡的寫法 結果就有錯,找不到錯在哪 請大家指點一下 thank 錯誤結果(Wrong Output): 請輸入浮點數 x= 2 請輸入整數 k= 5 Ans=0.000000 程式碼(Code):(請善用置底文網頁, 記得排版) #include <stdio.h> #include <stdlib.h> double power(double x ,int k); double power(double x,int k) { return pow(x,k); } void main(void) { double x; int k; printf("請輸入浮點數 x=\t"); scanf("%f",&x); printf("請輸入整數 k=\t"); scanf("%d",&k); printf("Ans=%f",power(x,k)); } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.163.106.192

12/12 14:16, , 1F
scanf讀double要用 %lf
12/12 14:16, 1F
感謝

12/12 14:17, , 2F
還有你的標題會被板主...
12/12 14:17, 2F
我的標題有違反板規? 要修正成怎樣呢

12/12 20:18, , 3F
這標題應該要下 浮點數用scanf %f讀不出值來
12/12 20:18, 3F

12/12 20:19, , 4F
哪來那麼多小問題啦
12/12 20:19, 4F

12/13 00:18, , 5F
剛入門還搞不清楚時, 哪知問題在 scanf, printf 或 pow ?
12/13 00:18, 5F

12/13 00:24, , 6F
問題就寫找不到錯在哪, 而不是知道問題是 scanf 讀不出來...
12/13 00:24, 6F

12/13 00:27, , 7F
所以標題寫 C入門問題 跟寫 算出來總是0 哪種會比較好?
12/13 00:27, 7F

12/13 01:38, , 8F
初學不知道問題出在哪不就該先把 scanf 和 pow 移掉看 printf
12/13 01:38, 8F

12/13 01:39, , 9F
行不行, 然後把 scanf 加回去, 如果還是沒問題再試 pow 嗎?
12/13 01:39, 9F

12/13 01:39, , 10F
會需要用這樣問, 找不到錯, 不就是自己先試著解決都沒做到?
12/13 01:39, 10F
我有試過把scanf換成輸出其他 有的對,有的仍然是是輸出0 但那時還是不曉得問題在哪 也想過難道是pow()是不是要include math 函式呼叫哪邊錯了 ...

12/13 02:30, , 11F
我覺得不懂就問沒關係,不用管其他人說什麼
12/13 02:30, 11F

12/13 16:03, , 12F
同意 damody
12/13 16:03, 12F
※ 編輯: dharma 來自: 118.163.106.192 (12/13 16:26)

12/13 20:33, , 13F
我只能說, 老手不要用自己的想法, 認為初學者的思考及努力方向
12/13 20:33, 13F

12/13 20:37, , 14F
一定如你想像.
12/13 20:37, 14F

12/13 20:38, , 15F
抱歉,學了太多東西所以有偏見。
12/13 20:38, 15F

12/13 22:24, , 16F
至少 locate 問題再來問為什麼而不是 code 丟上來就問
12/13 22:24, 16F

12/13 22:25, , 17F
別人問題出在哪邊, 至少我訂閱的 SO feed 都沒看到這
12/13 22:25, 17F

12/13 22:25, , 18F
樣的文章, 問 why 而不是問 where. 我也不是老手但我
12/13 22:25, 18F

12/13 22:26, , 19F
得如何節省別人的時間, 讓人更快更愉悅地回答我問題
12/13 22:26, 19F

12/13 22:28, , 20F
拿這篇文章來說好了, 一組 scanf() 跟 printf() 至少
12/13 22:28, 20F

12/13 22:28, , 21F
可以獨立測試, 輸入的浮點數對不對? 輸入的整數對不對
12/13 22:28, 21F

12/13 22:29, , 22F
? 另外 hard code 引數的 function call 印出來是不是
12/13 22:29, 22F

12/13 22:30, , 23F
合乎預期? 確認自己對書上前面的章節都瞭如指掌, 再來
12/13 22:30, 23F

12/13 22:31, , 24F
寫像此篇一樣的程式, 這樣會很難嗎?
12/13 22:31, 24F

12/14 01:12, , 25F
love版大 竟然 忝不知恥(大誤) 地說自己不是老手 :P
12/14 01:12, 25F

12/14 01:16, , 26F
其實love大所說的情況, 通常是已經對寫程式有一定 sense 的,
12/14 01:16, 26F

12/14 01:19, , 27F
才會這樣有條理地進行,就算是新手也非等閒之輩,不算一般新手了
12/14 01:19, 27F

12/14 01:20, , 28F
或者本版只接受 相當程度的新手以上等級 才可發問?
12/14 01:20, 28F

12/14 07:09, , 29F
剛入門搞不清楚很正常,原PO都說請大家指點一下了,結果
12/14 07:09, 29F

12/14 07:09, , 30F
你真要挑他文章標題的刺時,又會被覺得你刁難新手
12/14 07:09, 30F

12/14 07:11, , 31F
教人釣魚,總是比給魚吃的更惹人厭
12/14 07:11, 31F

12/14 10:57, , 32F
其實標題問題就是我前面說的, 如果原PO的標題是寫
12/14 10:57, 32F

12/14 10:58, , 33F
"為什麼算出來會是0" 大概就沒人提標題問題,
12/14 10:58, 33F

12/14 11:01, , 34F
但這樣的標題有比原來 "C語言入門的小問題" 的標題好嗎?
12/14 11:01, 34F

12/14 13:55, , 35F
我說的跟 sense 一點關係都沒有。只是 try & error
12/14 13:55, 35F

12/14 16:23, , 36F
真要挑毛病的話是trial % error 才會都是名詞
12/14 16:23, 36F

12/14 21:45, , 37F
跟 sense 沒關係的話, 那就要算運氣不好囉?
12/14 21:45, 37F

12/14 21:46, , 38F
有些新手就是很不幸, 試誤還會找錯方向, 直到昏頭轉向...
12/14 21:46, 38F

12/15 02:09, , 39F
我相信教科書從頭到尾的內文/範都仔細看, 再差的新手
12/15 02:09, 39F

12/15 02:10, , 40F
應該也不會出這個問題
12/15 02:10, 40F

12/15 21:05, , 41F
相信大多數第一次閱讀的人, 看到後面早忘了前面了 XD
12/15 21:05, 41F

12/15 21:06, , 42F
況且教科書有能力看到尾時, 也早已不算是新手了...
12/15 21:06, 42F

12/15 21:08, , 43F
學校上課要寫作業, 不會是整本從頭到尾上完, 才開始出作業...
12/15 21:08, 43F

12/15 21:09, , 44F
就算是自學寫程式, 也不會是從頭到尾看完, 才開始寫程式...
12/15 21:09, 44F
文章代碼(AID): #1IgLFUrh (C_and_CPP)
文章代碼(AID): #1IgLFUrh (C_and_CPP)