To see whats going on, try this:
Code:
# include<stdio.h>
# include<conio.h>
# include<string.h>
void main()
{
char name[20];
int c1=0,c2;
clrscr();
printf("enter the string");
scanf("%s",name);
c2=strlen(name);
printf("\n %d \n",c2);
c2--;
printf("C1 = %d\tC2 = %d\n",c1,c2);
for( ;c1++<c2--;)
{
name[c1]=name[c1]+name[c2];
printf("Iteration 1: name[c1] = %d\t",name[c1]);
name[c2]=name[c1]-name[c2];
printf("name[c2] = %d\t",name[c2]);
name[c1]=name[c1]-name[c2];
printf("name[c1] = %d\n",name[c1]);
}
printf("Finally C1 = %d\t C2 = %d\n",c1,c2);
printf("the reversed string \n");
printf("%s",name);
getch();
}
Hope it makes your analysis clearer...
-Harsha