You are here

C program to delete vowels from a string

Remove vowels from a string in C: C program to remove or delete vowels from a string, if the input string is "C programming," then the output is "C prgrmmng." In the program, we create a new string and process input string character by character, and if a vowel is found it excluded in the new string, otherwise the character is added to new string after the string ends we copy the new string into the original string. Finally, we obtain a string without vowels.

C programming code

#include <stdio.h>
#include <string.h>
int check_vowel(char);
int main()
  char s[100], t[100];
  int i, j = 0;
  printf("Enter a string to delete vowels\n");
  for(i = 0; s[i] != '\0'; i++) {
    if(check_vowel(s[i]) == 0) {       //not a vowel
      t[j] = s[i];
  t[j] = '\0';
  strcpy(s, t);    //We are changing initial string
  printf("String after deleting vowels: %s\n", s);
  return 0;
int check_vowel(char c)
  switch(c) {
    case 'a':
    case 'A':
    case 'e':
    case 'E':
    case 'i':
    case 'I':
    case 'o':
    case 'O':
    case 'u':
    case 'U':
      return 1;
      return 0;

Output of program:
C program to delete vowels from a string output

C programming code using pointers

#define TRUE 1
#define FALSE 0
int check_vowel(char);
   char string[100], *temp, *pointer, ch, *start;
   printf("Enter a string\n");
   temp = string;
   pointer = (char*)malloc(100);
  if( pointer == NULL )
      printf("Unable to allocate memory.\n");
   start = pointer;
      ch = *temp;
      if ( !check_vowel(ch) )
         *pointer = ch;
   *pointer = '\0';
   pointer = start;
   strcpy(string, pointer); /* If you wish to convert original string */
   printf("String after removing vowel is \"%s\"\n", string);
   return 0;
int check_vowel(char a)
   if ( a >= 'A' && a <= 'Z' )
      a = a + 'a' - 'A';
   if ( a == 'a' || a == 'e' || a == 'i' || a == 'o' || a == 'u')
      return TRUE;
   return FALSE;