作者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