October 1997
Intermediate to advanced
800 pages
20h 48m
English
This simple example shows why you want to use the IOStream library.
char name[80] = "abc"; // 80 byte character array
int digit = 12; // integer
printf("%s %d\n", digit, name); // oops, wrong order
The C library printf() function expects a literal format string as its first argument. This format string is crucial to printf() because it specifies the number of arguments to display and the type of each argument. Here, we specify "%s %d\n" to display a character string and decimal integer on standard output followed by a newline, respectively. Unfortunately, we pass digit (an integer) and name (a character array) to printf() in the wrong order. Note that there are no errors from this call to printf(), either ...