strlen函数的结果都是实际字符串里字符的长度;
而sizeof运算符则不同,需加上字符串末尾的'\0'字符(如果字符串存于指针变量中,则sizeof的结果是指针变量的长度)
如:
char aa[]="abcdef";
char *bb="abcdef";
printf("strlen aa[]=%d\n",strlen(aa));//结果为:strlen aa[]=6
printf("----sizeof aa[]=%d\n",sizeof(aa));//结果为:----sizeof aa[]=7
printf("strlen *bb=%d\n",strlen(bb));//结果为:strlen *bb=6
printf("----sizeof *bb=%d\n",sizeof(bb));//结果为:----sizeof *bb=4
printf("strlen str=%d\n",strlen("abcdef"));//结果为:strlen str=6
printf("sizeof str=%d\n",sizeof("abcdef"));//结果为:----sizeof str=7