程序为:输入4个整数,要求按由小到大的顺序输出.errorC2181 没有匹配if的非法else #includeint main(){int a,b,c,d;scanf
没有匹配 if 的非法 else 每个else必须具有匹配的if。 以下示例生成 C2181: intmain(){inti =0;else// C2181i =1; } 可能的解决方法: intmain(){inti =0;if(i) i =0;elsei =1; }
voidadd(floata,floatb){floatc;intxz;c=a+b;printf("第一个数%f和第二个数%f的和是%f\n",a,b,c);printf("是否返回?[1.返回/2.退出]");scanf("%d",&xz);if(xz==1);{main();}elseif(x... void add(float a,float b){ float c; int xz; c = a + b; printf("第一个数%f和第...
int main(void){ int a=0;printf("请输入年龄\n");scanf("%d",&a);getchar();if(a>18&&a<30);{ printf("合格");} if(a<18&&a>30);//这多了个分号 { printf("不合格");}else { printf("123");} getchar();return 0;} ...
printf("第一个数%f和第二个数%f的和是%f\n", a, b, c);printf("是否返回?[1.返回/2.退出]");scanf(" %d",&xz);if (xz == 1)//这里的分号去掉{main();//对main的调用是允许的 不过一般不建议这样做}else if (xz == 2){exit(0);//exit函数需要参数}}见注释 供参考 ...
你的if ( a == b );后面多了一个分号;它把if语句给结束了,导致后面的else没有匹配到相应的if条件。这种错误是教科书级的,刚学习c语言的时候老师就举过这样的例子。
意思:没有与if与之匹配的else是不合法的,就是说,你有个else语句,但是找不到与之对应的if在哪里。你代码这两处,if语句后面有分号,应该去掉。
else 没有配对的 if,
else min=y; printf("最小值是 %d.\n",min); return 0; } 错误提示: error c2181:没有匹配if的非法else 错误提示的意思是:else是非法的没有适当的if与其匹配 修改为:*/ #include<stdio.h> int main() { int x=30,y=20,min; if(x<y) ...