起因: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;
}