How to reverse a String without using C functions ?
Answers were Sorted based on User's Feedback
Answer / abhishek joshi ( h7 )
all these methods are too long.....
HAVE A LOOK ON SIMPLEST AND THE SHORTEST OF ALL
IN JUST ONE LINE YOU CAN REVERSE ANY STRING
and yes..... without using string.h
CODE IS :
#include<stdio.h>
main()
{
int l,i,j; /*declaring integer variables*/
char str[10],temp[10]; /* declaring string variables*/
/* Now taking input from the user*/
printf("\n enter any string to reverse =>");
scanf("%s",&str); /* passing into the variable*/
/*finding the lenth of the entered string */
for (l=0;str[l];++l); /*length found;amazing code!isnt it?*/
{printf("\nThis is the length of the string =>%d\n",l);}
/*making loop for reversing the given string*/
j=l;
for (i=0;j>=0;i++,j--)
{
temp[i]=str[j]; /* Note that the string is reversed */
/* and saved into new variable i.e temp*/
}
/*Now printing the reversed string*/
printf("\n this is the reversed string =>");
for (i=0;i<=l;i++)
{printf("%c",temp[i]);
/* this loop is calling the characters from the temp variable*/
}
}
/*End of program :-D*/
So this was my coding .....
am abhishek joshi.....
computer and network engineer....
am dot net programmer but also have indepth knowledge of C
and C++
and if you feel this code helpful then at least mention one
thanks vote on my mail id : h7_2007@yahoo.co.in
also if you want such amazing codes of dot net then u can
contact me.....
+919907428052
:-D have a great day.....
Is This Answer Correct ? | 133 Yes | 37 No |
Answer / raghuram.a
#include<iostream.h>
#include<conio.h>
#include<string.h>
#include<stdio.h>
int main()
{
int i=0,l,l1;
char str[100];
cout<<"enter string:";
gets(str);
while(str[i])
i++;
l=i;
for(i=0;i<=(l-1)/2;i++) //n/2 steps!!no extra memory
{
char t=str[i];
str[i]=str[l-i-1];
str[l-i-1]=t;
}
str[l]=0;
cout<<"\n\nreversed string is:"<<str;
getch();
return 0;
}
Is This Answer Correct ? | 106 Yes | 51 No |
Answer / guest
char * rev(char * str){
int temp;
for(int j=0;str[j];j++);
for(int i=0;i<j;i++,j--){
temp=str[i];
str[i]=str[j];
str[j]=temp;
}
return str;
}
Is This Answer Correct ? | 104 Yes | 63 No |
Answer / atul kabra
#include<stdio.h>
void reverse(char *);
void main()
{
char str[]="Hello";
reverse(str);
printf("Reverse String is %s",str);
}
void reverse(char *p)
{
char *q=p;
while(*++q!='\0');
q--;
while(p<q)
{
*p=*p+*q;
*q=*p-*q;
*p=*p-*q;
p++;
q--;
}
}
Is This Answer Correct ? | 47 Yes | 25 No |
Answer / sindhuja marri
#include<stdio.h>
#incliude<conio.h>
void main()
{
char a[20]="sindhu";
int i,j,count=0;
printf("the string to be reversed is");
for(i=0;a[i]!='\0';i++)
{
printf("%c",a[i]);
count++;
}
Printf(The reverse string is");
for(j=count;j>=0;j--)
{
printf("%c",a[j]);
}
}
Is This Answer Correct ? | 9 Yes | 0 No |
my_strrev(char str[Max]){
int i; // pointing to base adress
int l; //pointing to last address strlen(str) -1th position
char temp;
for(i=0,l=strlen(str)-1;i<=l; i++ ,j--)
{
temp=str[i];
str[i]=str[l];
str[l]=temp;
}
return str;
}
Is This Answer Correct ? | 142 Yes | 136 No |
Answer / manoj
#include <stdio.h>
void reverse(char s[])
{
int low; /* index in the lower half of the array s */
int high; /* index in the upper half of the array s */
char c; /* for holding intermediate strings */
int len; /* the length of the string s */
/* Initialize len to the length of the string */
for (len=0;s[len]!='\0';len++) ;
/* Let low increase and high decrease until they meet */
low = 0;
high = len-1;
while (low<high) {
/* Switch the values of s[low] and s[high] */
c = s[low];
s[low] = s[high];
s[high] = c;
low++;
high--;
}
}
main()
{
int c;
char line[80]; /* array to hold a line of input */
int i; /* to use as an index in the array */
c = getchar();
i = 0;
/* Read input until EOF (CTRL-z) */
while (c != EOF) {
if (c != '\n') {
/* Put anything else but newline in the array */
line[i] = c;
i++;
}
if (c == '\n') {
/* For a newline, reverse and print the line and start new line */
line[i] = '\0';
reverse(line);
printf("%s",line);
putchar(c);
i = 0;
}
c = getchar();
}
}
Is This Answer Correct ? | 8 Yes | 2 No |
Answer / imran silawat
#include<stdio.h>
#include<conio.h>
main()
{
char str[50],revstr[50];
int i=0,j=0;
printf("Enter the string to be reversed");
scanf("%s",str);
for(i=strlen(str)-1;i>=0;i--)
{
revstr[i]=str[i];
i++;
}
revstr[i]='\0';
printf("Input string : %s",str);
printf("\nOutput String : %s",revstr);
getch();
}
Is This Answer Correct ? | 11 Yes | 5 No |
void main() { int i=5; printf("%d",i++ + ++i); }
how can i cast a char type array to an int type array
int aaa() {printf(“Hi”);} int bbb(){printf(“hello”);} iny ccc(){printf(“bye”);} main() { int ( * ptr[3]) (); ptr[0] = aaa; ptr[1] = bbb; ptr[2] =ccc; ptr[2](); }
What is full form of PEPSI
main() { char s[ ]="man"; int i; for(i=0;s[ i ];i++) printf("\n%c%c%c%c",s[ i ],*(s+i),*(i+s),i[s]); }
main() { clrscr(); } clrscr();
main() { int c[ ]={2.8,3.4,4,6.7,5}; int j,*p=c,*q=c; for(j=0;j<5;j++) { printf(" %d ",*c); ++q; } for(j=0;j<5;j++){ printf(" %d ",*p); ++p; } }
main ( ) { static char *s[ ] = {“black”, “white”, “yellow”, “violet”}; char **ptr[ ] = {s+3, s+2, s+1, s}, ***p; p = ptr; **++p; printf(“%s”,*--*++p + 3); }
main() { float f=5,g=10; enum{i=10,j=20,k=50}; printf("%d\n",++k); printf("%f\n",f<<2); printf("%lf\n",f%g); printf("%lf\n",fmod(f,g)); }
Write a routine to implement the polymarker function
main() { int i, j; scanf("%d %d"+scanf("%d %d", &i, &j)); printf("%d %d", i, j); } a. Runtime error. b. 0, 0 c. Compile error d. the first two values entered by the user
main() { signed int bit=512, mBit; { mBit = ~bit; bit = bit & ~bit ; printf("%d %d", bit, mBit); } } a. 0, 0 b. 0, 513 c. 512, 0 d. 0, -513
3 Answers HCL, Logical Computers,