strlen函数给出错误的值

mai*_*ved 4 c arrays strlen

你好我每个人都写过代码

char sentence[100]; 
scanf("%s" ,sentence); 
char * ptrs = sentence ;
printf("%d", strlen(ptrs));
Run Code Online (Sandbox Code Playgroud)

假设我进入

john is a boy
Run Code Online (Sandbox Code Playgroud)

strlen()功能是给我值4停止的空间是我应该做的感谢后,计数

Kar*_*ath 9

那个scanf只能读一个单词,如果你这样做,printf你会看到它.所以没有任何问题strlen.

用于fgets读取整行:

if (! fgets(sentence, sizeof(sentence), stdin)) {
   fprintf(stderr, "error or end  of file while no characters have been read\n");
   return;
}
Run Code Online (Sandbox Code Playgroud)