C语言---strlen陷阱
发布日期:2021-05-07 16:11:19 浏览次数:21 分类:技术文章

本文共 245 字,大约阅读时间需要 1 分钟。

size_t strlen(char const *string);

返回值:无符号整型

该函数返回一个非负数值,因此在使用时需多加注意。

例如:

bool flag=strlen(“123”)> -1;

cout<<flag;

打印结果:

false

 

这是因为在有符号数和无符号数的比较过程中,有符号数会转变成无符号数,而-1的无符号表示的值为最大,所以flag==false。使用strlen()函数时需要注意。

sizeof操作符也返回无符号数,sizeof(int)<-1结果为真。

上一篇:关于char和int之间的字符关系
下一篇:深入理解数组指针与指针数组的区别

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2025年03月21日 11时27分50秒