How to extract the first letter from each word in a string with C

2 Answers

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

void get_first_letters(char *s, char *fl);


int main(void)
{   
    char s[] = "c programming language";
    char fl[10] = "";
    
    get_first_letters(s, fl);
    
    puts(fl);
    
    return 0;
}

void get_first_letters(char *s, char *fl)
{        
    if (s == NULL) return;   
     
    int len = strlen(s);

    if(s[0] != ' ' && s[0] != '\0') fl[0] = s[0];
    
    for(int i = 1, j = 1; i < len; i++)
    {
        if (s[i] == ' ') 
            fl[j++] = s[i + 1]; 
    }
}
      
/*
run:
   
cpl
  
*/

 



answered Jan 27, 2017 by avibootz
0 votes
#include <stdio.h> 
#include <string.h> 

void get_first_letters(char *s, char *fl);


int main(void)
{   
    char s[] = "c programming language";
    char fl[10] = "";
    
    get_first_letters(s, fl);
    
    puts(fl);
    
    return 0;
}

void get_first_letters(char *s, char *fl)
{        
    if (s == NULL) return;   
     
    int len = strlen(s);

    if(s[0] != ' ' && s[0] != '\0') fl[0] = s[0];
    
    for(int i = 1, j = 1; i < len; i++)
    {      
        if (s[i] == ' ')
        {
            if (i + 1 < len && s[i + 1] != ' ')
                fl[j++] = s[i + 1];
        }
    }
}
      
/*
run:
   
cpl
  
*/

 



answered Jan 27, 2017 by avibootz

Related questions

...