字符串相关

有如下程序段:
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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值