Code Bye

关于for循环的break问题

  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行,就跳出了呢
解决方案

5

单步, 调试…

5

那你需要单步调试,看看执行第十行的时候K的值是多少

10

你代码都没显示出j是多少,你看下是不是j大于等于480,是当然他就执行break啦
题主可以单步调试下,看程序是怎么走,每走一步变量的值是怎么变化的…

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于for循环的break问题