C Programming Code Examples C > Strings Code Examples Program to Count number of words, digits, vowels using pointers Program to Count number of words, digits, vowels using pointers Program finding number of words, blank spaces, special symbols, digits, vowels using pointers Now we are going to accept string using gets(). We are not using scanf() to accept string because scanf() will accept string only upto whitespace. We are accepting string using character pointer. Now we are checking each character using character pointer and in each loop we are incrementing the character pointer. Whenever first space is encountered then number of space counter is incremented by one. In the if block we are checking that whether our pointer position is within the word or outside the word. #include<stdio.h> #include<stdlib.h> #include<ctype.h> #include<conio.h> /*low implies that position of pointer is within a word*/ #define low 1 /*high implies that position of pointer is out of word.*/ #define high 0 void main() { int nob, now, nod, nov, nos, pos = high; char *str; nob = now = nod = nov = nos = 0; clrscr(); printf("Enter any string : "); gets(str); while (*str != '\0') { if (*str == ' ') { // counting number of blank spaces. pos = high; ++nob; } else if (pos == high) { // counting number of words. pos = low; ++now; } if (isdigit(*str)) /* counting number of digits. */ ++nod; if (isalpha(*str)) /* counting number of vowels */ switch (*str) { case 'a': case 'e': case 'i': case 'o': case 'u': case 'A': case 'E': case 'I': case 'O': case 'U': ++nov; break; } /* counting number of special characters */ if (!isdigit(*str) && !isalpha(*str)) ++nos; str++; } printf("\nNumber of words %d", now); printf("\nNumber of spaces %d", nob); printf("\nNumber of vowels %d", nov); printf("\nNumber of digits %d", nod); printf("\nNumber of special characters %d", nos); getch(); }