Re: [問題] pow的問題in C
※ 引述《bizza.bbs@ptt.cc (一個人的行李)》之銘言:
> printf("%d\t",a[i][j]);
那是因為要改的不只有 int 變成 double,
你 printf 這邊的 %d 也要改成 %lf,
不然 double 的 size 是 64-bit,
而你的 int size 可能不是 64-bit,
假設你的 int size 是 32-bit,
那 printf 只會抓到 64-bit 的一半來做顯示,
而且是直接把 double 在 memory 裡的表示法直接當成整數的表示法解讀,
簡單說就是不但只拿到一半的 data 連解讀方式都是錯誤的,
這樣顯示出來當然會有問題。
> 後來把 int a[10][4]; 改成 double a[10][4];後 是沒warning了
> 可是最後數字全變成0
> 想請教各位這個warning到底是怎麼一回事?
> 謝謝!!!
--
Name: Tseng, Ling-hua E-mail Address: uranus@it.muds.net
School: National Tsing Hua University Department: Computer Science
Interesting: C++, Compiler, PL/PD, OS, VM, Large-scale software design
Researching: Undecided
Homepage: https://it.muds.net/~uranus
--
╔═══╗ ┼────────────────────────╮
║狂狷 ║ │* Origin:[ 狂 狷 年 少 ] whshs.cs.nccu.edu.tw ╰─╮
║ 年少║ ┼╮ < IP:140.119.164.252 > ╰─╮
╚╦═╦╝ ╰ * From:61-230-225-167.dynamic.hinet.net
─╨─╨─ KGBBS ─ ◎ 遨翔"BBS"的狂狷不馴;屬於年少的輕狂色彩 ◎
討論串 (同標題文章)
完整討論串 (本文為第 4 之 4 篇):
1
1
Programming 近期熱門文章
PTT數位生活區 即時熱門文章