C Program to find All Occurrence of a Character in a String

Write a C Program to find All Occurrence of a Character in a String with example.

C Program to find All Occurrence of a Character in a String Example 1

This program allows the user to enter a string (or character array), and a character value. Next, it will search and find all the occurrences of a character inside this string using If Else Statement.

/* C Program to find All Occurrence of a Character in a String */
 
#include <stdio.h>
#include <string.h>
 
int main()
{
  	char str[100], ch;
  	int i;
 
  	printf("\n Please Enter any String :  ");
  	gets(str);
  	
  	printf("\n Please Enter the Character that you want to Search for :  ");
  	scanf("%c", &ch);
  	
  	for(i = 0; i <= strlen(str); i++)
  	{
  		if(str[i] == ch)  
		{
  			printf("\n '%c' is Found at Position %d ", ch, i + 1);
 		}
	}
	
  	return 0;
}
C Program to find All Occurrence of a Character in a String 1

First we used For Loop to iterate each and every character in a String.

for(i = 0; i <= strlen(str); i++)
{
	if(str[i] == ch)  
	{
		printf("\n '%c' is Found at Position %d ", ch, i + 1);   	
	}
}

str[] = tutorial gateway
ch = t

For Loop First Iteration: for(i = 0; i <= strlen(str); i++)
The condition is True because 0 <= 16.

Within the C Programming While Loop, we used If statement to check whether the str[0] is equal to a user-specified character or not

if(str[i] == ch) => if(t == t)

The above condition is True. So, the compiler will execute the printf statement inside the If block.

Here, i is the index position (start with zero), and i + 1 is the actual position.

Second Iteration: for(i = 1; 1 <= 16; 1++) – The condition is True because 1 <= 16.

if(str[i] == ch) => if(t == l) – condition is false. So, i will increment.

Third Iteration: for(i = 2; 2 <= 16; 2++)

if(str[i] == ch) => if(t == t) – condition is True. So, compiler will execute the printf statement inside the If block.

Do the same for the remaining iterations.

C Program to find All Occurrence of a Character in a String Example 2

This program to find all occurrence of a character is the same as above. Here, we just replaced the For Loop with While Loop.

/* C Program to find All Occurrence of a Character in a String */
 
#include <stdio.h>
#include <string.h>
 
int main()
{
  	char str[100], ch;
  	int i;
	i = 0;
 
  	printf("\n Please Enter any String :  ");
  	gets(str);
  	
  	printf("\n Please Enter the Character that you want to Search for :  ");
  	scanf("%c", &ch);
  	
  	while(str[i] != '\0')
  	{
  		if(str[i] == ch)  
		{
  			printf("\n '%c' is Found at Position %d ", ch, i + 1);
 		}
 		i++;
	}
	
  	return 0;
}
 Please Enter any String :  Hello World

 Please Enter the Character that you want to Search for :  l

 'l' is Found at Position 3 
 'l' is Found at Position 4 
 'l' is Found at Position 10

Program to find All Occurrence of a Character in a String Example 3

This program is the same as the first example, but this time we used the Functions concept to separate the logic.

/* C Program to find All Occurrence of a Character in a String */
 
#include <stdio.h>
#include <string.h>

void Find_AllOccurrence(char str[], char ch);

int main()
{
  	char str[100], ch;
 
  	printf("\n Please Enter any String :  ");
  	gets(str);
  	
  	printf("\n Please Enter the Character that you want to Search for :  ");
  	scanf("%c", &ch);
  	
  	Find_AllOccurrence(str, ch);
	
  	return 0;
}

void Find_AllOccurrence(char str[], char ch)
{
	int i;

	for(i = 0; str[i] != '\0'; i++)
	{
		if(str[i] == ch)
		{
			printf("\n '%c' is Found at Position %d ", ch, i + 1);
		}  
	}
}
 Please Enter any String :  welcome to tutorial gateway

 Please Enter the Character that you want to Search for :  t

 't' is Found at Position 9 
 't' is Found at Position 12 
 't' is Found at Position 14 
 't' is Found at Position 23

About Suresh

Suresh is the founder of TutorialGateway and a freelance software developer. He specialized in Designing and Developing Windows and Web applications. The experience he gained in Programming and BI integration, and reporting tools translates into this blog. You can find him on Facebook or Twitter.