递归中栈溢出&int与char转换

       1. 好久没写代码今天写老师给的PTA题目时写二叉树生成时调试了好久没弄出来,因为报错stack overflow,经过查询相关博客文章,在C++中,使用new或malloc动态分配内存时,系统将其分配到堆栈中,而vs编辑器中默认会给予其一定的空间大小,具体记不清了,默认好像超不过2M、具体可以自行查询,而众所周知,递归的风险便是空间使用量会随着递归深度的增加而不断增加,因为我递归函数中递归关系写错了(即递归模型),使得出现了stack overflow出现。一般小型的程序基本不会在算法没问题的情况下出现这种问题。自己对于树的理解太差了,需要继续加深。

2.在PTA一个题目中,输入为 int+char、而我定义的vector向量需要为int型,这就造成了之间转换,其实转化问题,在我们初学C时就已经掌握,题主好久没写忘了,竟然一直在用if条件构造,太笨了。。。

      

        
//方法一: '0'即代表0对应的ASCII码
        char a,b
        int aa, bb;
		cin >> a;
		aa = (int)a - '0';
		cin >> b;
		bb = (int)b - '0';
//方法一:直接减去ASCII对应的值
        char a,b
        int aa, bb;
		cin >> a;
		aa = (int)a - 48;
		cin >> b;
		bb = (int)b - 48;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值