LeetCode内存越界记录

2021年9月1日 13点热度 0条评论 来源: weixin_43907262

起因:leetcode 题目 本地测试正常,提交答案时,提示内存越界.(如下图)

测试时,无意间发现直接仅保留return strlen(chars)仍旧提示内存越界.
进一步测试结果如下,在此先做下记录,待日后再找寻原因.

size_t strlena(const char* start) { 
   // NB: no nullptr checking!
   const char* end = start;
   for( ; *end != '\0'; ++end)
      ;
   return end - start;
}

int compress(char* chars, int charsSize){ 
    
    // 读内存不提示越界
    // char c = chars[charsSize];

    // 写内存提示越界
    // chars[charsSize] = '\0';

    // 读内存不提示越界
    // int a = strlen(chars);
    
    // 读内存提示越界
    // int b = strlena(chars);
    
    // 读内存不提示越界
    // char* end = chars + charsSize;
    // return end - chars;

    // 读内存提示越界
    // char* end = chars + charsSize + 1;
    // return end - chars;

    // 读内存提示越界
    // return strlen(chars);

    // 读内存提示越界
    // return strlena(chars);
    return 1;
}
    原文作者:weixin_43907262
    原文地址: https://blog.csdn.net/weixin_43907262/article/details/120048536
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。