Write a C program to count vowels and consonants in a string using a pointer and a while loop:
- We assigned a string to the character pointer.
- The if statement checks whether any character equals a, e, i, o, u. If true, vowel count will increment. Otherwise, consonants count incremented.
- Finally, this example prints the total vowels and consonants in a string.
#include <stdio.h>
int main()
{
char str[100];
char *ch;
int vowCount = 0, consCount = 0;
printf("Please Enter String to Count Vowels and Consonants\n");
fgets(str, sizeof str, stdin);
ch = str;
while(*ch != '\0')
{
if(*ch == 'a' || *ch == 'e' || *ch == 'i' || *ch == 'o' || *ch == 'u' ||
*ch == 'A' || *ch == 'E' || *ch == 'I' || *ch == 'O' || *ch == 'U')
{
vowCount++;
}
else
{
consCount++;
}
ch++;
}
printf("Total Vowels = %d\n", vowCount);
printf("Total Consonants = %d\n", consCount - 1);
}

This c program counts the vowels and consonants in a string using a pointer and for loop. The above example works fine. However, it considers empty spaces as consonants. So, in this example, we used another condition to check the consonants.
#include <stdio.h>
int main()
{
char str[100];
char *ch;
int vowCount = 0, consCount = 0;
printf("Please Enter String\n");
fgets(str, sizeof str, stdin);
for(ch = str; *ch != '\0'; ch++)
{
if(*ch == 'a' || *ch == 'e' || *ch == 'i' || *ch == 'o' || *ch == 'u' ||
*ch == 'A' || *ch == 'E' || *ch == 'I' || *ch == 'O' || *ch == 'U')
{
vowCount++;
}
else if((*ch >= 'a' && *ch <= 'z') || (*ch >= 'A' && *ch <= 'Z'))
{
consCount++;
}
}
printf("Total Vowels = %d\n", vowCount);
printf("Total Consonants = %d\n", consCount);
}
Please Enter String
count vowels and consonants example
Total Vowels = 11
Total Consonants = 20
In this count vowels and consonants in a string using pointer example, the if statement check against the ASCII codes.
#include <stdio.h>
int main()
{
char str[100];
char *ch;
int vowCount = 0, consCount = 0;
printf("Please Enter String\n");
fgets(str, sizeof str, stdin);
for(ch = str; *ch != '\0'; ch++)
{
if(*ch == 65 || *ch == 69 || *ch == 73 || *ch == 79 || *ch == 85 ||
*ch == 97 || *ch == 101 || *ch == 105 || *ch == 111 || *ch == 117)
{
vowCount++;
}
else if((*ch >= 65 && *ch <= 90) || (*ch >= 97 && *ch <= 122))
{
consCount++;
}
}
printf("Total Vowels = %d\n", vowCount);
printf("Total Consonants = %d\n", consCount);
}
Please Enter String
learn c program in this tutorial gateway website
Total Vowels = 16
Total Consonants = 25