C++中出现illegal else without matching if是为什么

#include<iostream.h> double f(float x,int n) { if(n==0); return 1; else f(x,n-1)*(-x*x)/((2*n-1)*2*n); } 编译出现illegal else without matching if,望高手赐教

在if(n==0)后面不应该写分号,写了之后就表示这个选择语句已经终结了,所以才会出现illegal else without matching if,意思就是不合法的else,没有相对应的if与之相对应,如果使用else,前面一定会有对应的if才对
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-01-16
#include<iostream.h> double f(float x,int n) { if(n==0) //这时不写分号 return 1; else f(x,n-1)*(-x*x)/((2*n-1)*2*n); }

C++中出现illegal else without matching if是为什么
在if(n==0)后面不应该写分号,写了之后就表示这个选择语句已经终结了,所以才会出现illegal else without matching if,意思就是不合法的else,没有相对应的if与之相对应,如果使用else,前面一定会有对应的if才对

C++中 错误 illegal else without matching if,是什么意思?
有else但是没有if. 有可能是else写多了, 或者大括号写错地方了.

...error C2181: illegal else without matching if
\/\/\/输出带& 是输出地址 #include<stdio.h>void main(){ float y,z; int x; printf("请输入产品号与件数:");\/\/\/

C++出现error C2181: illegal else without matching if
你的 C 语言源程序中有 6 个 if 语句,但是 else 语句却只有 4 个。C 语言编译器当然会出现 if 和 else 不匹配的提示信息了。至于说具体的详细源代码,到底是错在了那里,我也没有很多的时间帮你调试。这个就只能够靠你自己亲自上机在编程环境下面通过设置单步跟踪、以及相应的断点来进行调试了。

illegal else without matching if C++错误 求大神帮忙
因为在它之前没有if可以配对。if在大括号之外哦注意下。改成if。 sum=1; cout<<"x="<<n<<endl; cout<<"sum="<<sum<<endl; } else if (N=2){ sum=3; cout<<"x="<<n<<endl; cout<<"x="<<m<<endl; cout<<"sum="<<sum<<endl; }}else su...

illegal else without matching if 这句C语言错误信息是什么意思...
这是if else 没匹配 你没加括号啦 if (num==1) {a++;i++;} \/\/错误两处 == 还有加括号,下同

C++ illegal else without matching if的错误
include<iostream.h> void main(void){ double X,Y;cout<<"输入X:";cin>>X;if (X<0)Y=X*X;else if (X>=0&&X<1)Y=2.5*X-1;else if(X>=1)\/\/这里少一个if,多一个;Y=3*X+1;cout<<Y<<'\\n';}

C++总是提示 illegal else without matching if请问哪里错了
其实没什么问题,只是你代码风格不好,以后注意哈,如下风格就还不错:if (){ } else { } 代码修改如下,没问题了:double y,x;cin>>x;if (x!=0){ y=sin(x)+sqrt(x*x+1);cout<<"x="<<x<<endl;} else { y=cos(x) - x*x + 3*x;cout<<"x="<<endl;} return 0;...

...error C2181: illegal else without matching if
if(year%4==0&&year%100!=0||year%100==0);if在;的时候就已经结束了。所以下面的else没有相应的if匹配。建议修改为 if(year%4==0&&year%100!=0||year%100==0){printf("days=29"); }else { printf("days=28");}

c++怎么总是提示说error C2181: illegal else without matching if
if后面只能接一个语句,你这里有两个语句b[k]=a[i][j];k++;

相似回答