printf
function
has a complement in the scanf
function.
scanf
reads information into a program.
For example,
main() { int num_stud ; printf( "How many students? " ) ; scanf( "%d", &num_stud ) ; printf( "There are %d students.\n", num_stud ) ; }
scanf()
is like printf()
in that it takes a format string and then zero
or more arguments identifying where to put the information.
Also like printf()
, the
format string for scanf()
specifies
the format for all inputs to be read by that call.
So if you have several variables being read by the same call to
scanf()
, you'll have several format specifiers (like the
%d
) in the format string.
As in this example, we rarely have anything except the format
specifiers in a scanf()
format string.
Here the %d
indicates that we'll be expecting a decimal integer
much as it did in printf()
.
Another thing to notice is that we must specify a variable as the place
to put the result; we can't (normally) use a more complicated expression.
Finally, notice that we precede the variable name by the character
&
.
For now, just remember that when you are using scanf()
,
you need to precede
any numeric variables by an ampersand (&
).
(The real reasons will become clear in Parts 2
and 6.)
foo
and bar
.