#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
*/