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.
#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;
}
Consider the given code:
Output
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:
Output
need an explanation for this answer? contact us directly to get an explanation for this answer