当str存放的数据二进制第7位不为0时循环
你对这个回答的评价是
最近在公司看代码,看到一个字符串长度统计的代码,如下
其中关于0x80
足以判断这個ch是不是一个字符,因此那种复杂的写法理论上不只是做ansi字符的判断,最后四处爬资料,最后得到如下信息,在这里写下来以供自己备忘
其中关于位运算的知识,各位请自行脑补,度娘,谷哥,我这里只想说那个运算的目的
0xC0也就是1100, 这个&运算判断的是下一个ch的头两位是什么字符, 因为11能完全反映絀本来的数字
对于普通的ansi字符(非扩展集)而言,他的头一位一定是0( ~ )
对于UTF-8字符而言,因为UTF-8编码是一种多字节序的形式,他采用如下的数字序规律
所有10咑头的在UTF-8里面,表示都是一个多字节序的子序
三个则是1110开始,后面跟三个10XXXXXX来表示字符
所以在计算字符串个数的时候,只需要判断当前字符是不是等于10开头,不等于10开头就一定是一个单字符或者一个多字符,然后计数器+1即可
加载中请稍候......
意思是如果这个表达式为真则S=S+1.題目上输入的三个字符串只有"A"$"ABCD"为真,所以只执行了一次S=S+1=0+1=1 3. 自己一步步逻辑推算吧,用语言描述起来太烦了
免费查看千万试题教辅资源
当str存放的数据二进制第7位不为0时循环
你对这个回答的评价是
下载百度知道APP,抢鲜体验
使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案