write a C code
to reverse a string using a recursive function, without
swapping or using an extra memory.
Answers were Sorted based on User's Feedback
Answer / valli
void reverse(char s[],int len)
{
putchar(s[len]);
len--;
if(len>=0)
reverse(s,len);
return;
}
| Is This Answer Correct ? | 49 Yes | 33 No |
Answer / noone
/* this one is a copy of a earlier one posted i just made a
small adjustment */
void reverse(char *str)
{
if(*str)
{
reverse(str+1);
putchar(*str);
}
}
| Is This Answer Correct ? | 18 Yes | 5 No |
Answer / sampath
void reverse(*str)
{
if(*str)
{
reverse(str+1);
putchar(*str);
}
}
| Is This Answer Correct ? | 58 Yes | 51 No |
Answer / asdf
void reverse(*str)
{
if(*str){
reverse(++str);
str--;
printf("%c",*str);
}
}
| Is This Answer Correct ? | 16 Yes | 9 No |
Answer / mohan
#include <stdio.h>
#include <string.h>
void reverse(char **s, int start, int last)
{
char tmp;
if (start >= last)
return;
char *s2 = *s;
tmp = s2[start];
s2[start] = s2[last];
s2[last] = tmp;
reverse(s, start + 1, last - 1);
}
int main()
{
char *s = strdup("Hello World");
printf("%s\n", s);
reverse(&s, 0, strlen(s) - 1);
printf("%s\n", s);
}
| Is This Answer Correct ? | 5 Yes | 1 No |
Answer / billy
string reverse with out recursion
void rev( char *p )
{
char tmp;
int len =strlen(p)-1;
for( int i=0 ; i <= len/2 ; i++ )
{
tmp = p[i] ;
p[i] = p[len - i ] ;
p[len - i ] = tmp ;
}
printf("%s",p);
}
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / jainendra
#include<stdio.h>
#define MAX 100
char* getReverse(char[]);
int main(){
char str[MAX],*rev;
printf("Enter any string: ");
scanf("%s",str);
rev = getReverse(str);
printf("Reversed string is: %s",rev);
return 0;
}
char* getReverse(char str[]){
static int i=0;
static char rev[MAX];
if(*str){
getReverse(str+1);
rev[i++] = *str;
}
return rev;
}
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / sanny
#include<stdio.h>
#include<conio.h>
main()
{
int num, rem=0;
printf("\n Enter the number ");
scanf("%d", &num);
while(num>0)
{
rem = (rem * 10) + (num % 10);
num = num / 10;
}
printf("\n Reverse of the number is %d", rem);
getch();
}
| Is This Answer Correct ? | 10 Yes | 15 No |
Answer / piyush kumar
char gacstring="piyush";
int giindex=0;
voidfnreverse();
void main()
while(gacstring[giindex]!='\0'){
giindex++;
voidfnreverse();
}
if(giindex>0)
giindex--;
printf("%c",chargacstring);
return 0;
}
| Is This Answer Correct ? | 4 Yes | 14 No |
What is c system32 taskhostw exe?
what is an inline fuction??
Explain how do you determine whether to use a stream function or a low-level function?
Explain how can I convert a number to a string?
the real constant in c can be expressed in which of the following forms a) fractional form only b) exponential form only c) ascii form only d) both a and b
x=2,y=6,z=6 x=y==z; printf(%d",x)
13 Answers Bharat, Cisco, HCL, TCS,
what is the difference between static variable and register variable?
How many bytes is a struct in c?
What is a class c rental property?
What is the purpose of the code, and is there any problem with it? unsigned int f( unsigned n ) { return –n & 7; }
what will be the output of this program? #include<stdio.h> #define cube(x) x*x*x void main() { int i,j=5; i=cube(j+3); printf("i=%d",i); }
Tell me what is the purpose of 'register' keyword in c language?