<分区>
Possible Duplicate:
C -> sizeof string is always 8
如果我执行 sizeof("HELLO");
我得到 6,这是预期的,但是如果我有:
void printLength(char *s) {
sizeof(s);
}
当将“Hello”传递给此函数时,sizeof
返回 8。
这是为什么?
<分区>
Possible Duplicate:
C -> sizeof string is always 8
如果我执行 sizeof("HELLO");
我得到 6,这是预期的,但是如果我有:
void printLength(char *s) {
sizeof(s);
}
当将“Hello”传递给此函数时,sizeof
返回 8。
这是为什么?
最佳答案
您得到的是 char *
的大小。要获得它的实际长度,请使用 strlen
。
关于c - 为什么传递给函数时 C 字符串长度会改变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11749572/