求助 | C++中 strlen 和 sizeof 的区别
661
2024.12.02
2024.12.02
发布于 广东

有如下程序和输出:

void func63() {
  char x[] = {"abcdefg"};
  char y[] = {'a', 'b', 'c', 'd', 'e', 'f', 'g'};
  printf("strlen(x) = %d\n", strlen(x));
  printf("strlen(y) = %d\n", strlen(y));

  printf("sizeof(x) = %d\n", sizeof(x));
  printf("sizeof(y) = %d\n", sizeof(y));
}
strlen(x) = 7
strlen(y) = 14
sizeof(x) = 8
sizeof(y) = 7

strlen():用于计算字符串长度,即字符串中所包含字符个数。
sizeof():用于计算操作数在计算机内存中所占用的空间大小(包括'\0')

为什么 strlen(y) = 14

评论 (4)