What is the common error occurred while using scanf() statement in C language?


Problem

Common error occurred while reading string and numeric data using scanf() function in C language

Solution

The scanf() function is used to read formatted input from stdin in C language. It returns the whole number of characters written in it otherwise, returns a negative value.

Generally in case of scanf() function while reading string values after integer from the user, we get frequent errors.

Example

Following is a C program which reads roll number (integer value) and name of a student −

 Live Demo

#include <stdio.h>
struct student {
   char name[10];
   int roll;
} s;
int main(){
   printf("Enter information of students:
");    printf("
Enter roll number: ");    scanf("%d", &s.roll);    printf("
Enter name: ");    gets(s.name);    printf("
Displaying Information of students:
");    printf("
Roll number: %d\t", s.roll);    printf("
name:%s\t", s.name);    return 0; }

Output

In the above example, roll no: was read by the compiler, After that compiler is not able to read name and moves to next statement which was printf("Roll Number is: %d\t, s.roll);

and the output is "Roll number: 3
name: "

This is the common error occurred while reading string and numeric data using scanf() function in C language.

Enter information of students:
Enter roll number: 3
Enter name: //error
Displaying Information of students:
Roll number: 3
name: //error

Updated on: 09-Mar-2021

779 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements