C语言学习过程的感悟

本章内容 不定期补充修改与更新 有好建议的小伙伴可以私信留言 大家一起分享技术与提升实力

内容不定向 细碎 繁杂 希望对你有帮助 本人知识尚浅 如果是后续知识请跳过

1,逻辑操作符"&&" (真&&真)(如果左边为假就不进行右边判断 假&&(真或假))

最近,在做题过程中发现,“&&”不仅仅将左右两值进行判断真假

他有先后顺序 从左往右 以此判断

如:一个数组在访问时 我们用循环对数组下标进行++;在数组末端最后一次下标再进行++时会导致数组下标越界(影响不大),但是再利用越界的下标进行数组元素判断时会栈溢出 那么可以进行如何修改

//if(i++ > (该数组大小-1) && arr[i] > 0(数组元素判断根据情况而定))

先进行 下标判断 再对 数组元素进行判断 防止越界访问

2,对数组元素进行统计

我平常在统计数组元素时 常常会用双指针 和 for循环 进行统计遍历

虽然数组元素遍历统计了 但是时间复杂度较大 我在做题过程中 发现用数组下标进行统计 (将各个元素初始化为0,在对元素进行++)


    for (i = 0; i < str_len; i++) {
        hash[s[i] - 'a']++;
    }

希望大家给我指出不足~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸡爱玩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值