#include<stdio.h>
#include<string.h>
main()
{
char a[20]="Good\t\\\0China";
int i,j;
i=sizeof(a);
j=strlen(a);
printf("%d,%d\n",i,j);
}
sizeof(a)是求字符数组a在内存中占的字节数
所以
sizeof(a)==a数组的元素个数悄缓20 *sizeof(char)==20
strlen(a)是把a数组作为字符串处理,求字符州搏串的长度
strlen这个函数遇到'\0'就会停止运行
所以strlen(a)==6
char a[20]="Good\t\\\0China";
相当于:
char a[20]={'G','启迹模o','o','d','\t','\\','\0','C','h','i','n','a'};
所以
strlen(a)==6 ('G'到'\\')
#include<stdio.h>#include<string.h>
main()
{
char a[20]="Good\t\\运脊\0China";
int i,j;
i=sizeof(a); // 字符占用的大小,这个是个数组,占用较大返纤
j=strlen(a); // strlen函数 计算字符串的长旁世渗度 (可以上网搜下资料,详细的解答)
printf("%d,%d\n",i,j);
}