当前位置:  技术问答>linux和unix

一个strlen的问题?

    来源: 互联网  发布时间:2015-10-27

    本文导语:  #include  int main() {     char str[ 2 ];          str[ 0 ] = '1';     str[ 1 ] = '2';     printf( "%d", strlen( str ) );     return 0; } 为什么str数组中没有''  strlen( str )仍可以计算str数组的长度? | ...


#include 

int main()
{
    char str[ 2 ];
    
    str[ 0 ] = '1';
    str[ 1 ] = '2';

    printf( "%d", strlen( str ) );
    return 0;
}


为什么str数组中没有''  strlen( str )仍可以计算str数组的长度?

|
#include 

int main()
{
    char str[2 + 1]; // 最后一位存放 ''
    
    str[ 0 ] = '1';
    str[ 1 ] = '2';

    printf( "%d", strlen( str ) ); // 2
    return 0;
}

|
站里的字符数组空间缺省为0

如果是堆里的空间就不一定了,最好分配之后立即置空

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • PHP中strlen()和mb_strlen()的区别浅析
  • 详解PHP中strlen和mb_strlen函数的区别
  • PHP strlen与mb_strlen区别
  • parse error before `strlen'的错误
  • Solaris中,我对未初始化的char*进行strlen()操作不报错! 初学.请多帮忙
  • 用sendto(socket, buf, strlen(buf), ...)发送一个包,如何得到发送的源地址(也就是本机的源地址)
  • 解析sizeof, strlen, 指针以及数组作为函数参数的应用
  • 基于Sizeof与Strlen的区别以及联系的使用详解


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3