Question

#include <stdio.h>
main()
{
    int c;
    while ((c = getchar()) != EOF)
    putchar(c);
}

In the above code, which character will break the loop?
I am new to C, please help me.
Also, what is it meant by this error:
codec5.c:8:2: warning: no newline at end of file

Was it helpful?

Solution

The error is solved by putting a newline at the end of the file (put the cursor behind the } and press enter).

I think the loop is broken with Ctrl+Z, but I'm not sure about that.

OTHER TIPS

The warning just means that you need to have a new line at the end of your source code. Put your cursor at the last } in your file at the end of main() and press enter.

You need to check for a specific character to end the program if you are not loading from a file. If you pipe (|) (< in Windows) a file into your program, then the program should end. If your program is named test.exe and your input file is foo.txt, try running test.exe < foo.txt (make sure they are in the same directory).

It is a special constant defined in stdio.h which means the end of the file.

codec5.c:8:2: warning: no newline at end of file

Sounds like you don't have a \n at the end of your file :)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top