admin 管理员组

文章数量: 1184232

今天来跟大家分享一个可能很不常见的错误,因为这个错误可能真的很少见,大部分会想到这样也会错误。
我们先看一下错误提示:error ‘else’ without a previous ‘if’。其意思是else前面缺少一个if,而发现这种错误原因往往是if和else if或者与else之间被打断,比如我们看下面的代码:

#include <stdio.h>
typedef unsigned char u8;

int main()
{
  	u8 i = 0, a = 0;
	if(i!=20)
	{
		i++;
	}
	a++;            //因为在if和else if之间存在a++;,造成条件语句不连续,就会造成错误
	else if(i==20)
	{
	}
	printf("if与else if或者else 中间是不能被断的\n");
    return 0;
}

因为“a++;”这一句在if和else if的中间,所以造成条件语句不连续,因此产生错误。大家可以把代码复制过去试试看就知道了。然后把a++这句注释掉之后再编译即可成功运行。

本人水平有限,上述信息仅供参考,如有错误和不妥之处,请多多指教。
另外创作不易,请勿抄袭,如果有帮助到大家的话希望大家可以点个赞,谢谢~

本文标签: 错误 error previous