Always the first argument to printf, the format string contains plain text, which is copied directly to the output stream, and format specifiers, which instruct printf to insert the value of an argument and insert it at the location of the specifier in the output stream.
The formatted print and scan functions, for example scanf and printf, need to know how to format their output. To tell them the layout we use the format string. It contains characters which are to be transferred - for example hello, place markers for values - for example %i for an integer, and control sequences for layout - \n for a newline.
string which can contain both ordinary text and format directives, and which is used in conjunction with format arguments to describe how text output should be formatted by certain functions, such as format.