黑马程序员技术交流社区

标题: strlen 的问题????? [打印本页]

作者: 马志华    时间: 2015-1-5 22:11
标题: strlen 的问题?????
#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,长度增加输出结果错误

这是为什么???
作者: xiezhongmin    时间: 2015-1-5 23:21
在你的定义中什么是错误,什么是正确?  char name2[]={'0','6','k'};这个字符串没有加\0




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2