strlen在这种情况下如何工作?

问题描述 投票:0回答:3

请参见以下代码:

#include<stdio.h>
#include<string.h>
int main(void)
{
    printf("%lu",strlen("\\n"));
}

[我知道输出将是2,但混淆了\\是要考虑的第一个字符,然后是n还是\是第一个计数,\n是第二个计数?] >

请参见以下代码:#include #include int main(void){printf(“%lu”,strlen(“ \\ n”)); }我知道输出将为2,但混淆了\\是否为...

c string output strlen
3个回答
1
投票

...但是我感到困惑的是,是否考虑到\\是第一个字符,然后考虑n\是第一个字符,而\n是第二个字符?


1
投票

尝试打印字符串。


1
投票

"\\n"从左到右解析。 "\\"是反斜杠(单个\)的转义序列。在这种情况下,"n"只是"n",而不是"\n"。因此,return加上了两个字符strlen

© www.soinside.com 2019 - 2024. All rights reserved.