Javatpoint Logo
Javatpoint Logo

Stdin and Stdout in C

Programming requires input and output activities, and the C language's stdin and stdout streams effectively manage these processes. This comprehensive reference will thoroughly explain the purpose, syntax, and usage of stdin and stdout. Standard streams in C called stdin and stdout make input and output operations easier. They make communication between a program and its user simpler as a component of the C standard library (stdio.h). Let's examine these streams in more detail:

What is Stdin?

Stdin is stands for Standard Input. It is represented by the stdin stream, which is normally connected to the keyboard. It enables programs to read user-entered data while they are running. Line buffering is the default setting for stdin, which collects input up until the user pushes the Enter key.

What is Stdout?

Stdout is stand for Standard Output. It is represented by the stdout stream, which is frequently attached to the console or terminal. It makes it possible for programs to show the user information or results. Stdout is also line-buffered by default.

Understanding the syntax required using stdin and stdout efficiently is essential:

Reading Input from Stdin:

The scanf function is used to read input from the user via stdin. The following is the syntax:

In this case, the intended data type is indicated by format_specifier, and the memory address where the input data will be stored is indicated by &variable.

Writing Output to Stdout:

The printf function is used to display output to the user through stdout. The following is the syntax:

The output format is set by the format_specifier, and the value to be displayed is stored in the variable.

To further comprehend stdin and stdout, let's look at some real-world examples:

Example 1:

Reading Input from Stdin: Assume that we ask the user to enter their name, age, and favorite number. After that, the user will see this information again due to stdout.


Enter your name: John Doe
Enter your age: 25
Enter your favorite number: 42
Name: John Doe
Age: 25
Favorite Number: 42

Example 2:

Writing Output to Stdout: Let's compute the sum of two user-provided values and show the result on the screen using stdout.


Enter the first number: 10
Enter the second number: 5
The sum is: 15

Example 3:

Here is a thorough illustration of how to use stdin and stdout in a program that computes the average of a series of user-provided numbers:


Enter the count of numbers (up to 10): 5
Enter 5 numbers:
Number 1: 10
Number 2: 15
Number 3: 20
Number 4: 25
Number 5: 30 
Entered numbers: 10 15 20 25 30 
Sum: 100.00
Average: 20.00


The following code demonstrates a program that determines the average of a set of numbers that the user provides. The user is first asked to specify the number of numbers they intend to input. After that, the program prompts the user to enter the required number of numbers if the count is accurate. The entered numbers are concurrently added together and stored in an array. After that, the average is determined by dividing the sum by the count in the program. Finally, the user is shown the entered numbers, sum, and average.


In conclusion, any programmer intending to create effective and interactive apps must know the use of stdin and stdout in C. Throughout this article, we have learned a lot about these standard streams and how they function in input and output operations.

We can quickly collect user input during runtime by using stdin. The scanf function allows us to use format specifiers to specify the expected data type and save the input in variables. Due to the ability to ask users for different inputs and process them appropriately, makes it possible for our programs to be interactive.

It's crucial to remember that while working with user input, input validation and error handling must be carefully considered. Users may submit unexpected data, such as a character in place of a number or data that is longer than expected. We can include error-checking features and validate user input before moving on to other procedures to make sure our programs are resilient.

On the other hand, we can show the user information, outcomes, and messages using stdout. A flexible method for formatting and presenting the result in a style that is easy to understand is provided by the printf function. Using format specifiers, we can regulate the presentation of different data kinds, including texts, integers, and floating-point numbers. It enables us to tailor the output and give the user useful information.

In some circumstances, we could need input or output immediately without waiting for the newline character. The getchar and putchar functions can be used to read and write individual characters in these circumstances. We can process characters one at a time with these functions because they give us more precise control over input and output.

Using stdin and stdout goes beyond interactive command-line interfaces, even though console-based applications are frequently associated with them. The conventional input and output can be redirected to read from or write to files, allowing for batch processing and task automation. We can efficiently handle enormous volumes of data and operate on external files by using file I/O routines like fopen, fread, fwrite, and fclose.

Additionally, to produce even more potent outcomes, stdin and stdout can be used with other C programming features and tools. For instance, we may use the string.h library's string manipulation functions in conjunction with stdin and stdout to process and modify text input. They can also be used in conjunction with control structures, loops, and functions to build sophisticated algorithms and user-input-based decision-making systems.

Youtube For Videos Join Our Youtube Channel: Join Now


Help Others, Please Share

facebook twitter pinterest

Learn Latest Tutorials


Trending Technologies

B.Tech / MCA