Вы можете использовать что-то вроде
#include <stdio.h>
#include <stdlib.h>
int main() {
char string[100];
int count = 0;
printf("Enter a string: \n");
char *pString = fgets(string, sizeof(string), stdin);
if (pString == NULL) {
fprintf(stderr, "failure reading from stdin\n");
exit(1);
}
while (*pString != '\0' && *pString != '\n') {
pString++;
count++;
}
printf("String is %d characters long", count);
return 0;
}
Он использует fgets, который также проверяет длину буфера.fgets возвращает также новую строку, которую вводят пользователи, поэтому дополнительная проверка для \ n.Как и в комментариях, упомянутых Арвином, в цикле должен быть увеличен указатель на символ.