C scanf()
Anonymous contributor
Published Jan 23, 2025
The scanf() function (short for ‘scan formatted’) reads user input, interprets it according to the specified format, and assigns the converted value to a variable.
Syntax
int scanf(const char *format, &variable1, &variable2, ..., &variableN);
format: A string containing format specifiers (e.g.,%d,%f,%s) that define the type of input expected.&variable1, &variable2, ..., &variableN: Pointers to variables where the values from the input will be stored. Each pointer corresponds to a format specifier in theformatstring.
For a short list of format specifiers you can use in the input string, see the ‘Format Specifiers’ table in the printf documentation.
Note:
scanf()does not have any intrinsic validation of the user input. This can cause errors if the user input does not match the format specifiers in the string.
Example 1
In the following example, the format specifier %d tells the function to expect an integer, then assigns it to the variable yourNumber:
#include <stdio.h>int main(void) {int yourNumber;printf("Type your favorite number:");scanf("%d", &yourNumber);printf("Your favorite number is: %d", yourNumber);}
If the user typed in 3, the output would be:
Your favorite number is: 3
Example 2
Here is another example using two variables:
#include <stdio.h>int main(void) {int yourNumber;char yourLetter;printf("Type your favorite number and letter:");scanf("%d%c", &yourNumber, &yourLetter);printf("Your favorite number is: %d and your favorite letter is: %c", yourNumber, yourLetter);}
If the user typed in 4Bh, the output would be:
Type your favorite number and letter:Your favorite number is: 48 and your favorite letter is: h
All contributors
- Anonymous contributor
Learn C on Codecademy
- Looking for an introduction to the theory behind programming? Master Python while learning data structures, algorithms, and more!
- Includes 6 Courses
- With Professional Certification
- Beginner Friendly.75 hours