[問題] 陣列索引值問題

看板C_and_CPP (C/C++)作者 (鄉民)時間16年前 (2009/08/20 03:45), 編輯推噓4(404)
留言8則, 7人參與, 最新討論串1/1
各位板友好 想請問是否在寫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

08/20 03:54, , 1F
d 的初始值?
08/20 03:54, 1F

08/20 04:09, , 2F
並沒有對d作初始化的動作 不知道這樣是否會影響?
08/20 04:09, 2F

08/20 08:08, , 3F
你可以試試看
08/20 08:08, 3F

08/20 08:09, , 4F
+= 是 d=d+(a+1); 後面的d可能一開始不知道是什麼
08/20 08:09, 4F

08/20 08:13, , 5F
c==10時就會產生錯誤了吧....這執行起來一定有問題..
08/20 08:13, 5F

08/20 08:51, , 6F
d沒有初值阿..
08/20 08:51, 6F

08/20 08:56, , 7F
寫+=時要養成習慣 要看有沒有初始值 (-=等一樣)
08/20 08:56, 7F

08/20 13:57, , 8F
c 被 loop 到 20 怎麼會對呢 @@, array size 不是 10 嗎?
08/20 13:57, 8F
文章代碼(AID): #1AZ5OzeU (C_and_CPP)
文章代碼(AID): #1AZ5OzeU (C_and_CPP)