CSC 161 Grinnell College Spring, 2010
Imperative Problem Solving and Data Structures

Input and Output in C


Please read the following materials carefully:

Additional Notes

When a user enters information into a program, the user types a sequence of characters. Sometimes this information is intended to be a string of characters, such as a name or an address. In other applications, a sequence of characters, such as 123.45, should be interpreted as a number.

When characters are to be considered as numbers, input can follow either of two basic forms:

The library function scanf is commonly used for the latter approach. Using scanf involves several elements. The basics of this work are illustrated in the following code segment:

   double a, b;
   scanf  ("%lf", &a);
   scanf  ("%lf", &b);

As illustrated in this segment,

scanf allows the two reading operations above to be combined within a single statement as follows:

   double a, b;
   scanf  ("%lf%lf", &a, &b);

Beyond the identification of variables and formats for reading, the scanf can specify other characters that must be part of the input. For example, suppose a program is supposed to read hours and minutes in the format hour:minutes:seconds, such as 12:34:56 or 5:8:27. In this setting, the user is supposed to enter the colon character between integer numbers. The following code segment would perform such a read operation:

   int hr, min, sec;
   scanf ("%d:%d:%d", &hr, &min, &sec);

This document is available on the World Wide Web as

created 13 May 2008
last revised 9 January 2010
Valid HTML 4.01! Valid CSS!
For more information, please contact Henry M. Walker at