作者eyagi (鄉民)
看板C_and_CPP
標題[問題] 陣列索引值問題
時間Thu Aug 20 03:44:59 2009
各位板友好
想請問是否在寫C++程式時遇到這樣的一個問題
情況描述: 想將a值丟入第3個索引值,但print結果出來後,a卻是在第4個索引值
int c = 0 ;
float M[2][10], a = 0.00849, d ;
for ( c = 0 ; c <= 20 ; c++ )
{
d += (a + 1);
M[1][c] = d ;
}
正常情況下 M[1][1] = 2.01698
但小弟卻碰上 2.01698被存在M[1][2]的位置
不知道問題出在哪邊 想請問是否有人遇過這樣的問題呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.117.199.97
1F:推 LPH66:d 的初始值? 08/20 03:54
2F:→ eyagi:並沒有對d作初始化的動作 不知道這樣是否會影響? 08/20 04:09
3F:→ th19883617:你可以試試看 08/20 08:08
4F:→ th19883617:+= 是 d=d+(a+1); 後面的d可能一開始不知道是什麼 08/20 08:09
5F:→ csiemx:c==10時就會產生錯誤了吧....這執行起來一定有問題.. 08/20 08:13
6F:推 flyskycat:d沒有初值阿.. 08/20 08:51
7F:推 ianfang:寫+=時要養成習慣 要看有沒有初始值 (-=等一樣) 08/20 08:56
8F:推 ledia:c 被 loop 到 20 怎麼會對呢 @@, array size 不是 10 嗎? 08/20 13:57