当前位置: 代码迷 >> C语言 >> 数组的长度问题
  详细解决方案

数组的长度问题

热度:271   发布时间:2007-04-20 16:45:25.0
数组的长度问题
char a[]="xyz";
char b[]={'x','y','z'};
数组a的长度比数组b长.
请高手解释一下,谢谢
搜索更多相关的解决方案: 长度  char  解释  

----------------解决方案--------------------------------------------------------
实在不会的交你用数组strlen(),返回就是长度
----------------解决方案--------------------------------------------------------
第一个是一个字符串,它包含字符'\0'当然比第二个的长度要长一些呀!
----------------解决方案--------------------------------------------------------
strlen()函数不会显示'\0吧'用strlen比较这两个应该是一样长的
----------------解决方案--------------------------------------------------------
char a[]="xyz";
char b[]={'x','y','z'};
以上两个字符数组;
若用strlen去求解,结果是一致的,都是字符个数 3
但要用sizeof去求解,结果就不一定;
具体来说:
sizeof(a) //结果为4,编译器把'\0'计算在内;
但sizeof(b)的结果是不一定的,和编译器的种类有关,编译器不同,结果也不一样,有时还会出现随机数;
----------------解决方案--------------------------------------------------------
看编译器的了.只有一个\O的区别

----------------解决方案--------------------------------------------------------
谢谢大家的解释
----------------解决方案--------------------------------------------------------
顶5楼的
----------------解决方案--------------------------------------------------------
  相关解决方案