#include<stdio.h>
void main(){
    char p[20];
    char *s="string";
    int i;
    int length= strlen(s);
    for(i=0;i<length;i++)
        p[i]=s[length-i];  // it shows expected values when checked here, character by character.
    //But, if it's printed as string, it shows blank.
    printf("%s",p);
    //And now, again checking it character by character, it behaves like nothing is stored.
    for(i=0;i<strlen(p);i++)
        printf("%c",p[i]);
    }
}
It prints nothing. When traversing the for loop and checking variable p's value, it shows expected values; but it doesn't hold anything when checked outside the for loop.
And then 
Why?
 
     
     
     
    