right now you are incrementing count 5 times, once at every s and once at the character that is one passed the last s. even though after the last s you're token does equal NULL it still has to finish the loop and increment the count one last time, just add "if(token != NULL)" right before your count++ to prevent this from happeneing.
Code:
char string[] = "mississippi";
char *token;
int count=0;
printf("%s \n", string);
token = strchr(string, 's');
printf("%s\n", token);
count++;
while(token != NULL){
token = strchr(token+1, 's');
printf("%s\n", token);
if(token != NULL)
count++;}
printf("%d",count);