C Input output function

C programming language provides many of the built-in functions to read given input and write data on screen, printer or in any file.


scanf() and printf() functions

#include<stdio.h>
#include<conio.h>
void main()
{
 int i;
 printf("Enter a value");
 scanf("%d",&i);
 printf( "\nYou entered: %d",i);
 getch();
}

When you will compile the above code, it will ask you to enter a value. When you will enter the value, it will display the value you have entered.

NOTE : printf() function returns the number of characters printed by it, and scanf() returns the number of characters read by it.

int i = printf("studytonight");

In this program i will get 12 as value, because studytonight has 12 characters.


getchar() & putchar() functions

The getchar() function reads a character from the terminal and returns it as an integer. This function reads only single character at a time. You can use this method in the loop in case you want to read more than one characters. The putchar() function prints the character passed to it on the screen and returns the same character. This function puts only single character at a time. In case you want to display more than one characters, use putchar() method in the loop.

#include <stdio.h>
#include <conio.h>
void main( )
{
 int c;
 printf("Enter a character");
 c=getchar();
 putchar(c);
 getch();
}

When you will compile the above code,it will ask you to enter a value. When you will enter the value, it will display the value you have entered.


gets() & puts() functions

The gets() function reads a line from stdin into the buffer pointed to by s until either a terminating newline or EOF (end of file). The puts() function writes the string s and a trailing newline to stdout.

#include<stdio.h>
#include<conio.h>
void main()
{
 char str[100];
 printf("Enter a string");
 gets( str );
 puts( str );
 getch();
}

When you will compile the above code,it will ask you to enter a string. When you will enter the string, it will display the value you have entered.


Difference between scanf() and gets()

The main difference between these two functions is that scanf() stops reading characters when it encounters a space, but gets() reads space as character too.

If you enter name as Study Tonight using scanf() it will only read and store Study and will leave the part after space. But gets() function will read it complete.