c++ else if问题

问题遇到的现象和发生背景

一直报错说 else without a previous if

问题相关代码,请勿粘贴截图

img

我想要达到的结果
#include "stdio.h" 
main()
{printf("请输入一个小于6位的整数");
int a,b,c,d,e,x;
scanf("%d",&x);
a=x/100000;            /*万位*/
b=x%10000/1000;     /*千位*/
c=x%1000/100;         /*百位*/
d=x%100/10;         /*十位*/
e=x%10/1;             /*个位*/
if (a!=0)
    printf("该数为五位整数");printf("逆序位%d%d%d%d%d",e,d,c,b,a);
else if (b!=0)
    printf("四位整数");
else if (c!=0)
    printf("三位整数");
else if (d!=0)
    printf("二位整数");
else if (e!=0)
    printf("一位整数");
else    
}


#include "stdio.h" 
main()
{printf("请输入一个小于6位的整数");
int a,b,c,d,e,x;
scanf("%d",&x);
a=x/100000;            /*万位*/
b=x%10000/1000;     /*千位*/
c=x%1000/100;         /*百位*/
d=x%100/10;         /*十位*/
e=x%10/1;             /*个位*/
if (a!=0){
// 这里需要用括号,因为你有两个句子,不加括号只能包含一句
    printf("该数为五位整数");printf("逆序位%d%d%d%d%d",e,d,c,b,a);}
else if (b!=0)
    printf("四位整数");
else if (c!=0)
    printf("三位整数");
else if (d!=0)
    printf("二位整数");
else if (e!=0)
    printf("一位整数");
else    
}
 

第14行printf("该数为五位整数");printf("逆序位%d%d%d%d%d",e,d,c,b,a);
要加中括号{printf("该数为五位整数");printf("逆序位%d%d%d%d%d",e,d,c,b,a);}

你的代码12行,你看看,是两个语句,你要加大括号括起来,不然,后面的else 怎么跟上面的if 配套?