Hello,
I want to reverse array without using indexing in the array. Here is the code developed. Please let me know, if anybody can suggest better idea.
Code:
# include <stdio.h>
void print_rev(void);
void print_char(char *pointer);
char array[]={'A','B','C','D','E','F','G','H','I','J','K'};
int sizeofarray;
main()
{
print_rev();
}
void print_rev(void)
{
char *cPointer = array;
sizeofarray = sizeof(array)/sizeof(array[0]);
print_char(cPointer);
printf("%c",*cPointer);
}
void print_char(char *pointer)
{
if (sizeofarray--)
{
pointer = pointer +1;
print_char(pointer);
}
printf("%c",*pointer);
}
Following version of print_char does not work. Pointer not advancing.. Any idea.
Code:
void print_char(char *pointer)
{
if (sizeofarray--)
print_char(pointer++);
printf("%c",*pointer);
}