How to find the longest word in a string with C

1 Answer

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

void longest_word(char *input, char *out) {
    char *token;
    int longest = 0;
    char delimiter[2] = " ";

    token = strtok(input, delimiter);

    while (token != NULL) {
        int len = strlen(token);
        if (len > longest) {
            longest = len;
            strcpy(out, token);
        }
        token = strtok(NULL, delimiter);
    }
}

int main() {
    char string[128] = "C is a general purpose procedural computer programming language";
    char longest_word_found[32] = "";

    longest_word(string, longest_word_found);

    puts(longest_word_found);

    return 0;
}


      
/*
run:
  
programming
      
*/

 



answered Sep 16, 2021 by avibootz
edited Mar 2 by avibootz
...