C语言 strlen 函数求字节数 例如输入“how are you” 包括空格吗 矛盾!!

如题所述

包括空格的。strlen 假定字符串结束符是 "\0", 但总长度不计入"\0"这个字符。
char s[]=" how are you";
printf("%d",strlen(s)); // 含字符串和空白个数
----
输入语句:
scanf("%s",s);
拍入how are you, s 只读到how. 因为默认 空白 是分隔符
printf("%d",strlen(s)); 打出 3
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-23
看你输入的时候用的是什么语句了:
如果用的是scanf("%s"),这个是以空格为分隔符的,所以得到的只有"how",再求长度就是3
如果用的是gets()那就会整个的句子读入,那结果就是11,也就是包括空格
第2个回答  2012-03-23
当然包含空格了,直到遇见'\0'结束
相似回答