An array of characters is called a string.
Declaration
Following is the declaration declaring an array is as follows −
char stringname [size];
For example: char string[50]; string of length 50 characters
Initialization
- Using single character constant −
char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}- Using string constants −
char string[10] = "Hello":;
Accessing − There is a control string "%s" used for accessing the string till it encounters ‘\0’.
Finding maximum occurrence
The logic to find the maximum occurrence of character is −
- First, find frequency of characters, by using the following program.
while(string[i] != '\0'){
value = (int)string[i];
frequency[value] += 1;
i++;
}- Based on this, we are finding maximum occurrence character.
maximum = 0;
for(i=0; i<CHARS; i++){
if(frequency[i] > frequency[maximum])
maximum = i;
}Example
Given below is the C program to find max occurring character in a string −
#include <stdio.h>
#define SIZE 100 // Maximum string size
#define CHARS 255 // Maximum characters allowed
int main(){
char string[SIZE];
int frequency[CHARS];
int i = 0, maximum;
int value;
printf("Enter the string:\n ");
gets(string);
for(i=0; i<CHARS; i++){
frequency[i] = 0; // initialize freq of all characters to zero
}
/* Finds frequency of each characters */
i=0;
while(string[i] != '\0'){
value = (int)string[i];
frequency[value] += 1;
i++;
}
/* Finds maximum frequency */
maximum = 0;
for(i=0; i<CHARS; i++){
if(frequency[i] > frequency[maximum])
maximum = i;
}
printf("Maximum occurrence character is '%c' = %d times.", maximum,
frequency[maximum]);
return 0;
}Output
When the above program is executed, it produces the following result −
Enter the string: tutorials point Maximum occurrence character is 't' = 3 times.