Tutorials References Exercises Videos Menu
Free Website Get Certified Upgrade

C User Input

User Input

You have already learned that printf() is used to output values in C.

To get user input, you can use the scanf() function:


Output a number entered by the user:

// Create an integer variable that will store the number we get from the user
int myNum;

// Ask the user to type a number
printf("Type a number: \n");

// Get and save the number the user types
scanf("%d", &myNum);

// Output the number the user typed
printf("Your number is: %d", myNum);
Run example »

The scanf() function takes two arguments: the format specifier of the variable (%d in the example above) and the reference operator (&myNum), which stores the memory address of the variable.

Tip: You will learn more about memory addresses and functions in the next chapter.

User Input Strings

You can also get a string entered by the user:


Output the name of a user:

// Create a string
char firstName[30];

// Ask the user to input some text
printf("Enter your first name: \n");

// Get and save the text
scanf("%s", firstName);

// Output the text
printf("Hello %s.", firstName);
Run example »

Note that you must specify the size of the string/array (we used a very high number, 30, but atleast then we are certain it will store enough characters for the first name), and you don't have to specify the reference operator (&) when working with strings in scanf().