计算数组的实际长度

今天练习大数计算时出现,数组越界问题,经过调试后发现原来是数组越界问题。在这里本人就强调一下使用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         

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

转载于:https://www.cnblogs.com/huxianlu/p/3327754.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值