How to find the frequency of every character in a string with C

1 Answer

0 votes
#include <stdio.h>
#include <string.h>

#define MAX_CHAR 256

void char_frequency(const char *string) {
    int frequency[MAX_CHAR] = {0};
    
    for (int i = 0; string[i] != '\0'; i++) {
        frequency[(unsigned char)string[i]]++;
    }
    
    for (int i = 0; i < MAX_CHAR; i++) {
        if (frequency[i] > 0) {
            printf("%c %d\n", i, frequency[i]);
        }
    }
}

int main() {
    const char *string = "C is a general-purpose programming language";
    
    char_frequency(string);
    
    return 0;
}



/*
run:

  5
- 1
C 1
a 5
e 4
g 5
i 2
l 2
m 2
n 3
o 2
p 3
r 4
s 2
u 2
  
*/

 



answered Nov 25, 2024 by avibootz

Related questions

1 answer 112 views
2 answers 153 views
2 answers 126 views
1 answer 134 views
1 answer 161 views
2 answers 119 views
...