求分析C语言里的某个程序。。 求详细

#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);

}