Originally Posted by endfx
You want char line for an array of chars. You are declaring an array of pointers to chars then reading 4 bytes into the first pointer and storing zero in the last pointer then passing the address of the first pointer to printf (with %s) and it prints chars until it happens to find a zero.
Also, sizeof(char) is always 1 since the sizeof operator returns sizes in multiples of the size of a char (which I believe is supposed to represent the smallest addressable unit of memory on the machine, which on PCs is 1 8-bit byte).
fgets is more appropriate for reading chars.
P.S., remember to use a code
block next time to properly display your code.