答案是:6
#include "stdio.h"
#include "string.h"
void main()
{
char str[20]="\ta\017bc";
int a=strlen(str);
int b=sizeof(str);
printf("%d\n",a);
printf("%d\n",b);
}
运行结果:
5
2
因为strlen(str)不记入'\0'这个字节,'\t','a','\017','b','c','\0';
sizeof(str)只计算'\0'之前的字符,不计入'\0',所以'\t','a',两个.