C Language: scanf function
(Formatted Read)
In the C Programming Language, the scanf function reads a formatted string from the stdin stream.
Syntax
The syntax for the scanf function in the C Language is:
int scanf(const char *format, ...);
Parameters or Arguments
- format
Describes the input as well as provides a placeholder to insert the formatted string. Here are a few examples:
Format Explanation Example %d Reads an integer 10 %f Reads a floating-point number in fixed decimal format 10.500000 %.1f Reads a floating-point number with 1 digit after the decimal 10.5 %e Reads a floating-point number in exponential (scientific notation) 1.050000e+01 %g Reads a floating-point number in either fixed decimal or exponential format depending on the size of the number 10.5
Returns
The scanf function returns the number of characters that was read and stored. If an error occurs or end-of-file is reached before any items could be read, it will return EOF.
Required Header
In the C Language, the required header for the scanf function is:
#include <stdio.h>
Applies To
In the C Language, the scanf function can be used in the following versions:
- ANSI/ISO 9899-1990
scanf Example
Let's look at an example to see how you would use the scanf function in a C program:
/* Example using scanf by http://TechOnTheNet.com */ #include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc, const char * argv[]) { /* Define temporary variables */ char name[10]; int age; int result; /* Ask the user to enter their first name and age */ printf("Please enter your first name and your age.\n"); /* Read a name and age from the user */ result = scanf("%s %d",name, &age); /* We were not able to parse the two required values */ if (result < 2) { /* Display an error and exit */ printf("Either name or age was not entered\n\n"); exit(0); } /* Display the values the user entered */ printf("Name: %s\n", name); printf("Age: %d\n", age); return 0; }
Similar Functions
Other C functions that are similar to the scanf function:
See Also
Other C functions that are noteworthy when dealing with the scanf function:
Advertisements