初中生
最后登录1970-1-1
在线时间 小时
注册时间2017-3-13
|
发表于 2017-8-20 21:30:54
|
显示全部楼层
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
charstr[20]="0123456789";
inta=strlen(str);//a=10;
intb=sizeof(str);//而b=20;
charss[]="0123456789";
sizeof(ss)结果11===》ss是数组,计算到\0位置,因此是10+1
sizeof(*ss)结果1===》*ss是第一个字符
charss[100]="0123456789";
sizeof(ss)结果是100===》ss表示在内存中的大小100×1
strlen(ss)结果是10===》strlen是个函数内部实现是用一个循环计算到\0为止之前
intss[100]="0123456789";
sizeof(ss)结果400===》ss表示在内存中的大小100×4
strlen(ss)错误===》strlen的参数只能是char*且必须是以'\0'结尾的
charq[]="abc";
charp[]="a\n";
sizeof(q),sizeof(p),strlen(q),strlen(p);
怎么解释跟楼主不一样? |
|