\0
。
#include <stdio.h>
#include <string.h>
int main(int argc, char **argv){
char str1[] = "dog";
char str2[] = "dog\0";
char str3[] = "dog\0\0";
printf("%ld %ld %ld\n", strlen(str1), strlen(str2), strlen(str3));
return 0;
}
但所有这些都返回3。现在:
为什么额外的
strlen()
不会导致大小增加?
\0
是相同的,它们的实际大小在内存中也相同吗?
strlen()
strlen
将打印4 56.