Как понять while(*s)? - C (СИ)

Формулировка задачи:

char s[256];
do
{
...
  } while(*s);

Код к задаче: «Как понять while(*s)? - C (СИ)»

textual
#include <stdio.h>
#include <ctype.h>
 
size_t digits_count(const char * s) {
    size_t count = 0;
    
    while ( *s && ( !isdigit(*s++) || ++count ) )
        ;
    
    return count;
}
 
int main(void) {
    char buf[BUFSIZ];
    
    while ( printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' )
        printf("%u digits\n", digits_count(buf));
        
    return 0;
}

12   голосов, оценка 3.833 из 5


СОХРАНИТЬ ССЫЛКУ