金庸原话:关于vc++

来源:百度文库 编辑:高校问答 时间:2024/04/30 20:10:56
char s[]="ab\0\123\\\n97";
strlen(s)的值为什么是2,是如何计算的??

因为第三个便是0, C计算字串到0为止.长度不计算0在内, 0以后的不予计算

strlen(char*)计算字符串有效长度,遇到'\0'认为字符串结束 就好像你给字符串赋值 会自动灾后一位加上'\0'
就是为了表示结束

因为这个字符串的第三个字符是'\0',也就是ASCII为0的字符,TC的字符串默认遇到这个字符就认为到了字符串的末尾,所以strlen函数返回值是2。