黑马程序员技术交流社区
标题:
关于strlen以及sizeof用法?
[打印本页]
作者:
smilejoke
时间:
2015-8-26 19:15
标题:
关于strlen以及sizeof用法?
#include <stdio.h>
void test()
{
char str[ ]="ab\013\r\082\\\"";
printf("%lu",strlen(str));
}
int main(int argc, const char * argv[]) {
char c[]="heima";
char d[]={'h','e','i','m','a'};
printf("%lu\n",(sizeof(c) / sizeof(c[0])));
printf("%d\n",sizeof(d) / sizeof(d[0]));
printf("长度%d",strlen(c));
printf("长度%d",strlen(d));
printf("%s",d);
return 0;
}
复制代码
这段代码执行后为什么xcode会输出如下6
5
长度5长度10heimaheimaProgram ended with exit code: 0
作者:
愿得一人心1111
时间:
2015-8-26 21:25
有什么问题么?
作者:
tangbinbin
时间:
2015-8-27 08:15
过来学习下
作者:
iphone
时间:
2015-8-27 09:26
长度和字符个数
作者:
tr2e
时间:
2015-8-27 10:40
字符串和字符数组是不一样的 所有的字符串都是以 '\0' 结尾 自然会多一位
作者:
tr2e
时间:
2015-8-27 10:49
最后一行 d 是个字符数组 可以用 %s 输出吗?
作者:
tr2e
时间:
2015-8-27 11:00
strlen(d) 同样有疑问 可以这样对一个字符数组使用字符串的函数?
作者:
小腼腆不是错
时间:
2015-8-27 11:13
过来凑下热闹。
作者:
flywithde
时间:
2015-8-27 16:49
char c[]="heima";//这句是定义一个常量字符串,字符串是以\0结束
char d[]={'h','e','i','m','a'};//这句是定义一个字符数组,最后没有\0
用%S是这样输出的:从给定的地址开始输出,一直遇到\0就结束,而d是存放在内存低地址,c存放在高地址,输出d的时候没有\0所以会把接下来的c也一同输出,遇到c的\0就结束输出
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2