字符串测长度函数strlen遇到斜杠0就会停止,但是用scanf函数去输入的\0却不会停止,而是看成两个字符,这是为什么呢】
如果想输入斜杠0应该怎么输入呢?谢谢
#include <string.h>
int main()
{
char s[20] ="abc0d\0a01";
scanf("%s", s);
int ret = strlen(s);
printf("%d", ret);
return 0;
}
``
```
如果想输入斜杠0应该怎么输入呢?谢谢
#include <string.h>
int main()
{
char s[20] ="abc0d\0a01";
scanf("%s", s);
int ret = strlen(s);
printf("%d", ret);
return 0;
}
``
```
这是因为scanf函数会将输入的字符串存储到一个字符数组中,而strlen函数只会计算字符数组中的字符个数,而不会计算斜杠0。如果想输入斜杠0,可以使用fgets函数,它会将斜杠0也存储到字符数组中,从而可以正确的计算字符串的长度。