k = 2;
1 for(i = 0;i < msg2->len;i++)
2 {
3 if(k == 480 )
4 {
5 msg->packet[j].validLen = k;
6 j++;
7 k = 0;
8 if( j >= 480)
9 {
10 break;
11 }
12 }
13 msg->packet[j].dt[k] = msg2->acv[i];
14 k++;
15 }
其中进入for循环时的k等于2,应该是进入for循环中,到13行执行,为什么在c++builder中每次都到第10行,就跳出了呢
1 for(i = 0;i < msg2->len;i++)
2 {
3 if(k == 480 )
4 {
5 msg->packet[j].validLen = k;
6 j++;
7 k = 0;
8 if( j >= 480)
9 {
10 break;
11 }
12 }
13 msg->packet[j].dt[k] = msg2->acv[i];
14 k++;
15 }
其中进入for循环时的k等于2,应该是进入for循环中,到13行执行,为什么在c++builder中每次都到第10行,就跳出了呢
解决方案
5
单步, 调试…
5
那你需要单步调试,看看执行第十行的时候K的值是多少
10
你代码都没显示出j是多少,你看下是不是j大于等于480,是当然他就执行break啦
题主可以单步调试下,看程序是怎么走,每走一步变量的值是怎么变化的…
题主可以单步调试下,看程序是怎么走,每走一步变量的值是怎么变化的…