我在程序中这样用TRACE是否有问题?为什么得不到正确的结果?
在OnDraw()中,或者某个函数中,int      m_ncounter = 0;
int n4, n5;
for (n5 = 0; n5 < 52; n5++)
{
for (n4 = 0; n4 < 52; n4++)
{
TRACE3("%d, %d, %d\n", m_ncounter, n5, n4);
m_ncounter++;
}
}得到的结果是:
0, 0, 0
1, 0, 1
2, 0, 2
3, 0, 3
4, 0, 4
5, 0, 5
6, 0, 6
7, 0, 7
8, 0, 8
9, 0, 9
10, 0, 10
.......
390, 7, 26
391, 7, 27
392, 7, 28
586, 11, 14
587, 11, 15
588, 11, 16
589, 11, 17
590, 11, 18
...........
836, 16, 4
2582, 49, 34
............
2700, 51, 48
2701, 51, 49
2702, 51, 50
2703, 51, 51
我用............省去的部分内容是正确的,可是请看为什么会有
392, 7, 28
586, 11, 14836, 16, 4
2582, 49, 34
之类的跳动?
我在一个新做成的程序框架中测试,也没有好转。

解决方案 »

  1.   

    TRACE0 和 TRACE 一样,就是不带动态参数输出字符串TRACE1 中的字符串可以带一个参数输出 ,类似C的printf("...%d",变量); TRACE2 可以带两个参数输出,类似C的printf("...%d...%f",变量1,变量2); TRACE3 可以带三个参数输出,类似C的printf("...%d,%d,%d",变量1,变量2,变量3);
      

  2.   

    对的啊
    m_ncounter = n5*52 + n4;
    392 = 7*52 + 28;
    586 = 11*52 + 14;
    ....................