Skip to content
Related Articles

Related Articles

C Program to Show Types of Errors

View Discussion
Improve Article
Save Article
  • Last Updated : 08 Jul, 2022
View Discussion
Improve Article
Save Article

Here we will see different types of errors using a C program. In any programming language errors are common. If we miss any syntax like parenthesis or semicolon then we get syntax errors. Apart from this we also get run time errors during the execution of code. 
There are 5 types of error in C:

  1. Syntax Errors 
  2. Runtime Errors 
  3. Logical Errors 
  4. Linked Errors 
  5. Semantic Errors 

Let’s discuss each of these in detail.

1. Syntax Errors

These are also referred to as compile-time errors. These errors have occurred when the rule of C writing techniques or syntaxes has been broken. These types of errors are typically flagged by the compiler prior to compilation.  

Example 1: In the below program we are getting an error because of a missing semicolon at the end of the output statement (printf()) called syntax error. 

C




// C program to demonstrate
// a syntax error due to
// missing semi colon
#include <stdio.h>
 
// Driver code
int main()
{
  // missing semicolon
  printf("Geeks for geeks!")
  return 0;
}

Output:

C program to show syntax error

 

Example 2:  In this case, we are getting errors because of missing parenthesis before the output statement and below the main(). This type of error is also called syntax error. 

C




// C program to demonstrate
// a syntax error due to
// missing parenthesis
#include <stdio.h>
 
// Driver code
int main()
 
  printf("Geeks for Geeks");
  return 0;
}

Output: 

C program to show syntax error

 

2. Runtime Errors

This type of error occurs while the program is running. Because this is not a compilation error, the compilation will be completed successfully. These errors occur due to segmentation fault when a number is divided by division operator or modulo division operator. 

Example: Let us consider an array of length 5 i.e. array[5], but during runtime, if we try to access 10 elements i.e array[10] then we get segmentation fault errors called runtime errors. Giving only an array length of 5 

C




// C program to demonstrate
// a runtime error
#include <stdio.h>
 
// Driver code
int main()
{
  int array[5];
  printf("%d", array[10]);
  return 0;
}

Output

-621007737

But in output trying to access more than 5 i.e if we try to access array[10] during runtime then the program will throw an error or will show an abnormal behavior and print any garbage value.

3. Logical Errors

Even if the syntax and other factors are correct, we may not get the desired results due to logical issues. These are referred to as logical errors. We sometimes put a semicolon after a loop, which is syntactically correct but results in one blank loop. In that case, it will display the desired output.

Example: In the below example, the for loop iterates 5 times but the output will be displayed only one time due to the semicolon at the end of for loop. This kind of error is called a logical error.

C




// C program to demonstrate
// a logical error
#include <stdio.h>
 
// Driver code
int main()
{
  int i;
  for(i = 0; i <= 5; i++);
  {
    printf("Geeks for Geeks");
  }
    return 0;
}

Output

Geeks for Geeks

4. Linker Errors

When the program is successfully compiled and attempting to link the different object files with the main object file, errors will occur. When this error occurs, the executable is not generated. This could be due to incorrect function prototyping, an incorrect header file, or other factors. If main() is written as Main(), a linked error will be generated.

Example: Below is the C program to show the linker error.

C




// C program to demonstrate
// a linker error
#include <stdio.h>
 
// Driver code
int Main()
{
  printf("Geeks for Geeks");
  return 0;
}

Output:

C program to show linker error

 

5. Semantic Errors

When a sentence is syntactically correct but has no meaning, semantic errors occur. This is similar to grammatical errors. If an expression is entered on the left side of the assignment operator, a semantic error may occur.  

Example: Below is the C program to show semantic error.

C




// C program to demonstrate
// a semantic error
#include <stdio.h>
 
// Driver code
int main()
{
  int x = 10;
      b = 20, c;
  x + y = c;
  printf("%d", c);
    return 0;
}

Output: 

C program to show semantic error

 


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!