Write a function called reverse that accepts a c-string as an argument and rever
ID: 3880182 • Letter: W
Question
Write a function called reverse that accepts a c-string as an argument and reverses that argument in place returning the address of the first element of the c-string as a character pointer when you are finished. For example, if your c-string contains the string “Happy Birthday!” then after a call to the function your string would contain “!yadhtriB yppaH”. For this assignment you may not use the string.h library or any other library except stdio.h. You may assume the following main program which would print the string forward, backward, and then forward again twice:
int main(int argc, char* argv[])
{
char word[] = "Happy Birthday!";
printf("%s ", word);
reverse(word);
printf("%s ", word);
printf("%s ", reverse(word));
printf("%s ", word);
return 0;
}
Explanation / Answer
int main(int argc, char* argv[])
{
char word[] = "Happy Birthday!";
printf("%s ", word);
reverse(word);
printf("%s ", word);
printf("%s ", reverse(word));
printf("%s ", word);
return 0;
}
void reverse(char str[], int index, int size)
{
char temp;
temp = str[index];
str[index] = str[size - index];
str[size - index] = temp;
if (index == size/2)
{
return;
}
reverse(str, index + 1, size);
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.