今天来跟大家分享一个可能很不常见的错误,因为这个错误可能真的很少见,大部分会想到这样也会错误。
我们先看一下错误提示: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++这句注释掉之后再编译即可成功运行。
本人水平有限,上述信息仅供参考,如有错误和不妥之处,请多多指教。
另外创作不易,请勿抄袭,如果有帮助到大家的话希望大家可以点个赞,谢谢~