How to reverse a string using a recursive function, without
swapping or using an extra memory?
Answers were Sorted based on User's Feedback
Answer / aditi parab
#include <stdio.h>
int main ()
{
int i,j;
char a[10];
char temp;
//clrscr (); // only works on windows
gets(a);
for (i=0;a[i]!='\0';i++);
i--;
for (j=0;j <= i/2 ;j++)
{
temp = a[j];
a[j] = a[i-j];
a[i-j] = temp;
}
printf("%s",a);
return(0);
}
| Is This Answer Correct ? | 1 Yes | 1 No |
Answer / sasi
#include<stdio.h>
#include<conio.h>
void main()
{
printf("\n i dont know");
}
getch();
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / vishnu
Try this ...
#include <stdio.h>
#include <stdlib.h>
int Rev (char *s, char *b)
{
int i ;
char c ;
if (*s == '\0')
{
return 0 ;
}
c = *s ;
i = Rev (s + 1, b) ;
b[i] = c ;
return i+1 ;
}
int main ()
{
int end ;
char str[] = "Billie jean is not my lover - MJ" ;
end = Rev (str, str) ;
str[end] = '\0' ;
printf ("Now [%s]\n", str) ;
exit (0) ;
}
| Is This Answer Correct ? | 1 Yes | 1 No |
Answer / rahul kumar
/* Program to reverse any string input by the user without
using library function strlen( );*/
#include <stdio.h>
#include<conio.h>
void main()
{
char a[]={"sixaN: you are with us or against us"};
int i,len=0;
char *b;
clrscr();
b=a;
while(*b!='\0')
{
len++;
b++;
} //counting lenght of string
for(i=len;i>-1;i--)
printf("%c",a[i]); //printing charachters in reverse
getch();
Output :
su tsniaga ro su htiw era uoy :Naxis
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / aravind
#Include<stdio.h>
void display(char*)
void main()
{
char str[]= "Aravind"
disply(str)
}
void display(char *p)
{
static int i=1;
if(*p=='\0')
{
display(p+i)
i++
}
printf("%c",*p)
}
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / prakash
#include <stdio.h>
void reverse(char *str)
{
if (*str == '\0')
return;
reverse(str+1);
printf("%c", *str);
}
int main()
{
char str[50];
printf("Enter the string: ");
scanf("%s", str);
printf("Reversed string: ");
reverse(str);
printf("\n");
return 1;
}
| Is This Answer Correct ? | 23 Yes | 24 No |
Answer / right
char* reverseStringR(char* string){
if(string[0] && !string[1])
return string;
char first = string[0];
reverseStringR(string+1);
size_t length_rest = strlen(string+1);
memmove(string, string+1, length_rest);
string[length_rest] = first;
return string;
}
| Is This Answer Correct ? | 3 Yes | 4 No |
Answer / asif
#include <stdio.h>
#include <string.h>
void reverse(char *str)
{
if (*str == '\0')
return;
reverse(str+1);
printf("%c", *str);
}
int main()
{
char str[50];
char *ptr;
printf("Enter the string: ");
//scanf("%s", str);
fgets(str,50,stdin);
ptr = strchr(str,'\n');
*ptr = '\0';
printf("Reversed string: ");
reverse(str);
printf("\n");
return 1;
}
| Is This Answer Correct ? | 2 Yes | 3 No |
Answer / pritam
/*
reverse string between start and end indexes of a string
*/
void reverse( char* str, int start, int end )
{
if( str && ( start < end ) )
{
*( str + start ) ^= *( str + end ) ^= *( str + start )
^= *( str + end ) ;
reverse( str, ++start, --end );
}
}
int main()
{
char sample[] = "My String!";
reverse( str, 0, strlen( sample )-1 )
}
| Is This Answer Correct ? | 15 Yes | 17 No |
Answer / mahendra aseri
Reverse a string
void ReverseString (char *String)
{
char *Begin = String;
char *End = String + strlen(String) - 1;
char TempChar = '\0';
while (Begin < End)
{
TempChar = *Begin;
*Begin = *End;
*End = TempChar;
Begin++;
End--;
}
}
| Is This Answer Correct ? | 24 Yes | 27 No |
f=(x>y)?x:y a) f points to max of x and y b) f points to min of x and y c)error
Given an array of characters which form a sentence of words, give an efficient algorithm to reverse the order of the words (not characters) in it?
To find whether a number is even or odd without using any conditional operator??
12 Answers College School Exams Tests, IBM,
What are the different types of data structures in c?
char p="data"; printf(p);
How can I find out if there are characters available for reading?
What is a segmentation fault?
How can you call a function, given its name as a string?
What is the Purpose of 'extern' keyword in a function declaration?
we have a 3litres jug and a 5 litres jug and no measures on them. using these two jugs how can we measure 4 litres of water?
What is a structure and why it is used?
What is the difference between formatted&unformatted i/o functions?