C++小程序问题,类

216关注782浏览

展开全部
收起
7回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • Nathan

    20人对此回答表示赞同

    顶楼上的答案,就是添加个结束符,保证正常结束呗!
    展开
    20
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Grady陈三岁

    20人对此回答表示赞同

    在你这个程序中,有没有这句话的结果是一样的,因为你给ss这个对象初始化的这个字符串没有超过name这个字符串所能容纳的长度 譬如你把主程序换成我这么一段 void main() { A ss("abcdefghijklmdouoiuasdfdsfadsfadsf"); } 这样你就能看见区别了,如果不加你说的这句语句,输出的就是 abc abcdefghijklmdouoiuasdfdsfadsfadsf cba abcdefghijklmdouoiuasdfdsfadsfadsf
    展开
    20
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Jace

    19人对此回答表示赞同

    '\0'是字符串结束标志。如果不加,可能会输出意想不到的乱码。
    展开
    19
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 王大元

    19人对此回答表示赞同

    保证字符串正常结束
    展开
    19
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Xaviera

    13人对此回答表示赞同

    char *c="abc";
    int i=strlen(c);//i=3
    int j=sizeof(c);//j=4
    把指针c转成数组时这样的{'a','b','c','\0'}
    展开
    13
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Dominic

    13人对此回答表示赞同

    因为name[20]的原因啊,只定义了20个字节的长度,如果类构造的时候传入的字符超过20个,在strncpy(name,pName,sizeof(name));的时候就会将前20个字节拷贝过去,但是就缺乏了‘\0’结束符,这个时候析构函数再用Cout输出的字符串就会有问题了,所以需要在最后补充一个'\0'就不会有异常,只是析构的输出就比输入的构造时输入的字符串短了一些而已。
    展开
    13
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Andrew

    10人对此回答表示赞同

    在你这个程序中,有没有这句话的结果是一样的,因为你给ss这个对象初始化的这个字符串没有超过name这个字符串所能容纳的长度
    譬如你把主程序换成我这么一段
    void main()
    {
    A ss("abcdefghijklmdouoiuasdfdsfadsfadsf");
    }
    这样你就能看见区别了,如果不加你说的这句语句,输出的就是
    abc abcdefghijklmdouoiuasdfdsfadsfadsf
    展开
    10
    0回复
    发布于 6年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部