字符串相关

来源:互联网 发布:amv格式视频软件 编辑:程序博客网 时间:2024/04/16 12:52
有如下程序段:char a[] = "xyz", b[] = {'x', 'y', 'z'};if (strlen(a) > strlen(b))    printf("a > b\n");else    printf("a <= b\n");


则程序输出:

a<=b
char a[] = "xyz", b[] = {'x''y''z'};
a容易理解,strlen(a)=3;
b是数组,元素在内存中是连续存储的,而strlen函数求字符串长度是要以'\0'结尾,但是b没有'\0',
strlen的内部函数指针会一直向后搜索,直至找到'\0',内存中的其他区域也是有数据的,只是没有意义,
所以,strlen的指针最后指到哪里无法确定,但是结果肯定大于等于3.

0 0
原创粉丝点击