Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags

c
formatted input
stdin
input

How to read data using scanf() in C

Educative Answers Team

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Answers Code

In C, the scanf() function is used to read formatted data from the console.

svg viewer

Syntax

The general syntax of scanf is as follows:

int scanf(const char *format, Object *arg(s))

Parameters

  • Object: Address of the variable(s) which will store data

  • char *: This contains the format specifiers

Format Specifier

Format specifier is a special character which is used to specify the data type of the value being read.

Some of the frequently used specifiers are as follows:

  • s - strings
  • d – decimal integers
  • f – floating-point numbers
  • c – a single character

Return value

  • If the function successfully reads the data, the number of items read is returned

  • In case of unsuccessful execution, a negative number is returned

  • If there is an input failure, EOF is returned


Code

1. Reading an integer and a floating point value

#include <stdio.h>
int main()
{
int a;
float b;
int x = scanf("%d%f", &a, &b);
printf("Decimal Number is : %d\n",a);
printf("Floating-Point Number is : %f\n",b);
printf("Return Value: %d",x);
return 0;
}

Enter the input below

Note:

  • To use the scanf() function, the stdio.h library must be included

  • The scanf() function requires the address of the variable, not the actual variable itself. This is done to store the value at the memory location of the variable.

2. Reading a string

#include <stdio.h>
int main()
{
char name[20];
scanf("%s", &name);
printf("Your name is: %s", name);
return 0;
}

Enter the input below

Note: In C, a string is the address of the character buffer which is why we do not need & with the variable.

RELATED TAGS

c
formatted input
stdin
input
Copyright ©2022 Educative, Inc. All rights reserved

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Answers Code
Keep Exploring