What is the difference between puts() and printf() ?

|
Printf() |
Puts() |
| Declared in the header file stdio.h | Declared in the header file stdio.h |
| Function to print a formatted string to the standard output stream which is the computer screen. | This function prints string on the output stream with a new line character. |
| Syntax for printf is printf(str) | Syntax for puts() is : puts(str) |
| Does not move the cursor to the next line. | Moves the cursor to the next line. |
| Implementation of printf is complicated. | Implementation of puts() is very simpler than printf() |