How to reverse string without temporary variable in C

1 Answer

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

void ReverseStringWithoutTemporaryVariable(char str[]) {
    int start = 0, end = strlen(str) - 1;

    while (start < end) {
        str[start] ^= str[end]; // XOR used to swap two variables
        str[end] ^= str[start];
        str[start] ^= str[end];
        start++;
        end--;
    }
}

int main() {
    char str[] = "c++ java c";

    ReverseStringWithoutTemporaryVariable(str);

    puts(str);
}





/*
run:

c avaj ++c


*/

 



answered Aug 22, 2023 by avibootz

Related questions

1 answer 112 views
1 answer 123 views
1 answer 136 views
1 answer 123 views
1 answer 120 views
1 answer 109 views
1 answer 103 views
...