Error: 'else' without a previous 'if' in C

Here, we will learn where an error: 'else' without a previous 'if' is occurred and how to fix in C programming language?
By IncludeHelp Last updated : March 10, 2024

Error: 'else' without a previous 'if'

This error: 'else' without a previous 'if' is occurred when you use else statement after terminating if statement i.e. if statement is terminated by semicolon.

if...else statements have their own block and thus these statement do not terminate.

Consider the given code:

Example

#include <stdio.h>

int main()
{
	int a = 10;
	if(a==10);
	{
		printf("True\n");
	}
	else
	{
		printf("False\n");
	}

	return 0;
}

Output

prog.c: In function 'main':
prog.c:8:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
     if(a==10);
     ^~
prog.c:9:5: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'
     {
     ^
prog.c:12:5: error: 'else' without a previous 'if'
     else
     ^~~~

How to fix?

See the statement, if(a==10);

Here, if statement is terminated by semicolon (;). Thus, Error: 'else' without a previous 'if' in C is occurred.

To fix the error remove the semicolon (;) after the if statement.

Correct Code

#include <stdio.h>

int main()
{
	int a = 10;
	if(a==10)
	{
		printf("True\n");
	}
	else
	{
		printf("False\n");
	}

	return 0;
}

Output

True

C Common Errors Programs »


Comments and Discussions!

Load comments ↻






Copyright © 2024 www.includehelp.com. All rights reserved.