我目前被困在这个问题上。
我有以下代码:
int v[10] = {-1, 1000, 2};
int a;
a = strlen((char *)v+1);
printf("strlen result for (char *) v+1: %d\n", a);
我无法理解为什么在小端“机器”上的最终结果总是 5。 根据 strlen 文档,在这种情况下转换的 char * 应该返回 4.
我也在在线编译器和其他机器上尝试过,但结果仍然一样。我错过了什么?