How to reverse each word in a string with C

1 Answer

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

void ReverseEachWordInAString(char str[]) {
    char* p = str;

    for (int i = 0; str[i] != '\0'; i++) {
        if (str[i] == ' ') {
            str[i] = '\0';
            _strrev(p); // _strrev -> windows
            str[i] = ' ';
            p = str + i + 1;
        }
    }

    _strrev(p); // for the last word
}

int main(void)
{
    char str[] = "c is a computer programming language";

    ReverseEachWordInAString(str);

    puts(str);

    return 0;
}



/*
run:

c si a retupmoc gnimmargorp egaugnal

*/

 



answered Jul 29, 2022 by avibootz
edited Aug 30, 2024 by avibootz

Related questions

1 answer 60 views
1 answer 66 views
1 answer 66 views
...