bcb中给int型变量赋值出错??
void TSDIAppForm::draw(int page)
{
for(int i=0;i<Arr.size();i++)
{
if(Arr[i].start<(page-1)*5)continue;
if(Arr[i].end>page*5)break;
if(Arr[i].start>(page-1)*5&&Arr[i].end<page*5)
{
int s,e;
s=(Arr[i].start-(page-1)*5)*150;
e=(Arr[i].end-(page-1)*5)*150;
}
}
}
我定义的s,和e,然后给这两个变量赋值,但是在调试的时候这两个数总是不变,而且还是一个很大的数。这是怎么回事,Arr是一个vector,start和end是一个负的float数,比如-1.7963。page是0。
[解决办法]
看看是否被
if(Arr[i].start<(page-1)*5)continue;
if(Arr[i].end>page*5)break;
跳过了,根本没有执行下面的语句,导致块局部变量一直保持当时堆栈中的随机值。
[解决办法]
if(Arr[i].start>(page-1)*5&&Arr[i].end<page*5)
{
//加断点调试看看,是不是执行到下面的赋值操作了
int s = 0;
int e = 0;