社区
C语言
帖子详情
关于strlen()
EI_Madrigal
2018-04-12 08:24:42
strlen()为什么不能与负数比较大小?
...全文
1621
13
打赏
收藏
关于strlen()
strlen()为什么不能与负数比较大小?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
月凉西厢
2018-04-27
打赏
举报
回复
无符号数和有符号数运算,好像有时会有些问题,这个你具体去查下
qq_36260408
2018-04-27
打赏
举报
回复
strlen返回值肯定大于等于0,你和负数也可以比较,比较结果总是真
leetow2006
2018-04-27
打赏
举报
回复
函数strlen()返回的是字符串的长度,应该>=0
jena_wy
2018-04-27
打赏
举报
回复
无符号
月凉西厢
2018-04-27
打赏
举报
回复
引用 10 楼 a34140974 的回复:
无符号数和有符号数运算,好像有时会有些问题,这个你具体去查下
查了下: 无符号与有符号数进行运算时,系统会自动将有符号数看成无符号数,然后进行比较。 举例:假定一个数是8位,一个字节表示 -1=11111111(补码),相当于无符号数255 10=00001010 此时,-1>10
CMAR
2018-04-14
打赏
举报
回复
首先,strlen()返回值在不同c库的版本中不同,有的是int,有的是size_t(usigned int 或 unsigned long); 再次,你的问题应该是返回值是size_t的strlen(),这就是c/c++类型比较时的强制转换问题,rt.
AlbertS
2018-04-14
打赏
举报
回复
不能与负数比较是什么意思,警告还是错误?其实返回字符串的长度必定大于等于0,返回值应该是无符号整数,如果非要和有符号整数比较,可以强转啊!
leetow2006
2018-04-14
打赏
举报
回复
strlen()返回的字符串的长度,应该>=0
luoyely
2018-04-14
打赏
举报
回复
能不能比我不知道,但是没有必要比较啊,strlen()返回值大于等于0,根本不需要和负数比较啊。
自信男孩
2018-04-13
打赏
举报
回复
引用 2 楼 zhouqunhai 的回复:
strlen()得到是数据的类型的大小,必定>0
空串的strlen()得到是0吧
Xiao学生丶
2018-04-13
打赏
举报
回复
strlen()返回的是无符号整型
zhouqunhai
2018-04-12
打赏
举报
回复
strlen()得到是数据的类型的大小,必定>0
自信男孩
2018-04-12
打赏
举报
回复
strlen得到的返回值范围是:>= 0;跟负数比较没意义吧。 可以看一下strlen的原型,返回值是size_t,size_t是unsigned类型。
关于
strlen
与 sizeof 的区别
关于
strlen
与 sizeof 的区别,我相信很多人都有所了解。以下我总结了几点关于
strlen
与 sizeof 的区别和注意事项。 1.
strlen
是函数,sizeof 是运算符。 2.
strlen
测量的是字符的实际长度,以'\0' 结束。而sizeof 测量的是字符的分配大小。 比如: char str[20] = "hello"; printf("
strlen
: %
linux下C语言编程关于
strlen
输出的问题
linxu下C语言编程关于
strlen
输出的问题 #include <stdio.h> #include <string.h> void main() { char c[]=“abc”; printf("%d",
strlen
©); } 我第一次这样输出是会报编译错误: test1.c:54:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘size_t’ [-Wfo
C语言中关于
strlen
和 sizeof 的用法及区别(含例题及解析)
一、前言 首先我们需要知道的是,sizeof既是一个单目操作符,也是一个关键字,其作用是求操作数的类型长度(以字节为单位)。 而
strlen
是一个字符串操作函数,是一个参数为指针类型返回值为size_t(unsigned int)的函数,求的是字符串的长度。 所以现在我们知道sizeof是一个求操作数类型长度的操作符(关键字),而
strlen
是一个求字符串长度的字符串操作函...
strlen
和sizeof的区别
关于
strlen
与 sizeof 的区别: 1.
strlen
是函数,sizeof 是运算符。 2.
strlen
测量的是字符的实际长度,以'\0' 结束(不包含'\0' )。而sizeof 测量的是字符的分配大小,如果未分配大小,则遇到'\0' 结束(包含'\0' ,也就是
strlen
测量的长度加1),如果已经分配内存大小,返回的就是分配的内存大小。 比如: char str[...
C语言——关于
strlen
,Sleep,system函数的简单疑问解答
C语言——关于
strlen
,Sleep,system函数的简单疑问解答
C语言
69,366
社区成员
243,081
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章