To add to what Richard says, C doesn't have a concept of "lines" in a file - it just knows that a "newline" character (which varies depending on the system the code is running on) indicates a "new line starts here" when it is told to read a line from a file or the console.
That makes finding the last line problematic, because to do that you need the start of the last line, which is indicated by the last newline in the file.
Reading a number of bytes from the file is normally pretty simple: get the size of the file - exactly how will depend on the system you compile for, but try:
fseek(fp, 0L, SEEK_END);
sz = ftell(fp);
You can then use fseek to move to the size, minus the number of bytes you want, and read to the end.
You can use that to find the last line in a big file: pick a "block size" that is larger than the longest line in the file can be, read that many bytes from the end and search backwards in that for a newline indicator.
For a small file, read each line as Richard says.
But there is no simple way to do it!