计算数组的实际长度

今天练习大数计算时出现,数组越界问题,经过调试后发现原来是数组越界问题。在这里本人就强调一下使用length算出的是数组开辟内存空间的长度,而不是数组实际使用的长度。比如说你申请了int array[] = new int[100],但是你只输入了10个整数时。如果用length求数组长度,显示的长度是100,而不是10,如果想求数组的实际长度10,那么可以这样做

     for(  num =0;num<result.length;num++)  
     {  
      if(result[num]=='\0')  
          break;  
     }  
    

  出现错误的代码:

 1 int num =(inputNumA.length + inputNumB.length);
 2     for(i = num; i > 1 ; i--){
 3          ;
 4         if( (result[i] > 10)){//
 5         n = result[i] % 10;
 6         result[i-1] += result[i] / 10;
 7         result[i] = n;
 8         }
 9         //else
10             //result[i] = result[i];
11         

原因是数组的长度计算错误,数组越界!

posted @ 2013-09-18 02:24  学子晨路  阅读(1288)  评论(0编辑  收藏  举报