误用sizeof()计算指针

cpp 复制代码
#define LEN(x)  (sizeof(x)/sizeof(x[0]))

int longestCommonSubsequence(char* text1, char* text2) 
{

    int n1 = LEN(text1) - 1;
    int n2 = LEN(text2) - 1;
    
}

sizeof(text1)得到的是指针的大小,LEN(text1) = sizeof(text1)/sizeof(text1[0]) 在64位系统下为8/1=8。

计算字符数组长度应直接用strlen()。

相关推荐
黑眼圈子2 分钟前
总结一下用Java做算法的常用类和方法
java·开发语言·算法
apcipot_rain3 分钟前
天梯赛练习集 时间规划 限时复盘 中档题详解(L1-6~L2-4)
算法
再卷也是菜30 分钟前
第一章、线性代数(2)高斯消元法
线性代数·算法
NAGNIP32 分钟前
一文搞懂CNN经典架构-EfficientNet!
算法·面试
如何原谅奋力过但无声35 分钟前
【chap11-动态规划(上 - 基础题目&背包问题)】用Python3刷《代码随想录》
数据结构·python·算法·动态规划
小宇的天下1 小时前
Calibre LVS Circuit Comparison(2)
算法·lvs
迈巴赫车主2 小时前
求最大公约数-欧几里得算法(辗转相除法)
算法·最大公约数
lxl13072 小时前
C++算法(15)BFS_FloodFill
算法·宽度优先
小王C语言2 小时前
【基础IO】————简单设计一下libc库
前端·数据结构·算法
亦复何言??2 小时前
BeyondMimic 论文解析
人工智能·算法·机器人