程序为:输入4个整数,要求按由小到大的顺序输出.errorC2181 没有匹配if的非法else #includeint main(){int a,b,c,d;scanf
编译器错误 C2181 没有匹配 if 的非法 else 每个else必须具有匹配的if。 以下示例生成 C2181: C++ // C2181.cppintmain(){inti =0;else// C2181i =1; } 可能的解决方法: C++ // C2181b.cppintmain(){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和第...
[1.返回/2.退出]");scanf(" %d",&xz);if (xz == 1)//这里的分号去掉{main();//对main的调用是允许的 不过一般不建议这样做}else if (xz == 2){exit(0);//exit函数需要参数}}见注释 供参考
你的if ( a == b );后面多了一个分号;它把if语句给结束了,导致后面的else没有匹配到相应的if条件。这种错误是教科书级的,刚学习c语言的时候老师就举过这样的例子。
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) ...
//预期if的位置else//造成"没有匹配if的非法else"e = d * b;printf_s("豪华版的总价是:%f\n",e);//预期if的位置else//造成"没有匹配if的非法else"printf_s("版本号错误,请重新输入:\n");system("pause");return 0;} 3楼2016-10-14 13:37 回复 ...
百度试题 结果1 题目error C2181: illegal else without matching if 中文对照:(编译错误)非法的没有与if相匹配的else相关知识点: 试题来源: 解析 分析:可能多加了“;”或复合语句没有使用“{}” 反馈 收藏
if(int(b)==b)改为:if((int)b==b)