电脑网络 手机数码 生活 游戏 体育运动 明星影音 休闲爱好 文化艺术 就业职场 教育科学 健康医疗 商业理财 情感家庭 地区 其他

c语言strlen函数问题

2023-12-05 06:00:41

#include <stdio.h>
#include <string.h>

void main()
{
char x[]={0xBC,0xDD,0xCA};
int len=strlen(x);
printf("%d\r\n",len);
}
输出结果怎么是7?!应该是3啊

好评回答
strlen实际上是,从参数表示的地址往后找,找到第一个\0,即串尾。然后计算\0至首地址的“距离”,即隔了几个字符,从而得出长度。
char x[]={0xBC,0xDD,0xCA};中,实际上是定义了一个char型的数组,而由于x[0],即0xBC开始往后找,一直到0xCA,都没\0,所以会继续往后。。。当然,实际上往后找到的是其他值。。。
改char x[]={0xBC,0xDD,0xCA,0x00};后,应该就是3了。。。
相关推荐
  • c语言strlen函数问题
  • C语言 strlen 函数的问题~~
  • c语言问题 strlen函数问题
  • 一个c语言关于strlen函数的问题
  • 关于C语言中的strlen函数的问题?
  • c语言中strlen是什么意思
  • c语言中标准函数strlen的功能是什么
  • © 融合问答