A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 马志华 中级黑马   /  2015-1-5 22:11  /  1368 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

#include <stdio.h>
#include <string.h>
int main()
{
    char name[]="itcast";//这个字符串最长只能为6,长度增加输出结果错误
    char name2[]={'0','6','k'};
    printf("%s\n",name);
    printf("%s\n",name2);
    int size = strlen(name2);
    printf("%d\n",size);
   
    return 0;
}

结果:
itcast
06kitcast
9

#include <stdio.h>
#include <string.h>
int main()
{
    char name[]="itcast-";//这个字符串最长只能为6,长度增加输出结果错误
    char name2[]={'0','6','k'};
    printf("%s\n",name);
    printf("%s\n",name2);
    int size = strlen(name2);
    printf("%d\n",size);
   
    return 0;
}

在name字符串后面加了一个-,结果:
itcast-
06k
3

char name[]="itcast";//这个字符串最长只能为6,长度增加输出结果错误

这是为什么???

1 个回复

倒序浏览
在你的定义中什么是错误,什么是正确?  char name2[]={'0','6','k'};这个字符串没有加\0
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马