我无法理解为什么这个参数的输出到 strlen 函数 3。
我尝试将值从 1 更改为 2,3。我尝试将“文本”更改为“textt”。 我观察到的模式是输出是这样的 字符串中的字符数 - 数值
例如,如果我使用 2 而不是 1。答案是 4 - 2 = 2
对于 +1,它给出 4 - 1 = 3。
我对此感到困惑。请帮助我理解。 谢谢
#include<stdio.h>
#include<string.h>
int main(void)
{
char str[] = "Text";
printf("%ld %ld \n", strlen(str+4), strlen("text"+1));
return 0;
}
最佳答案
语法 "string_literal"+ N
将产生一个指针 N
从文字开始处向上的字节。 "test"+1
指向字符串"est"
,长度为3。
关于c - 将 ("text"+1) 参数传递给 C 中的 Strlen 函数。为什么输出 3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56707900/