新人求问这是怎么回事?
#include <stdio.h>int main( )
{
int sqrt_1(int x);
int n,c;
scanf("%d",&n);
c=sqrt_1(n);
if(c<0)
{
printf("This is a error number!");
}
else
printf("%d sqrt is %d ",n,c);
return 0;
}
int sqrt_1(int x)
{
int temp,i;
temp=x/2;
for(i=1;i<temp;i++)
{
if(temp*temp==x)
return temp;
}
else
return -1;
}
编译出现一个错误:illegal else without matching if
说没有合法配套的if。
但是我else的前面不就有一个if吗?
所以求问各位大神这是怎么回事? {:10_279:}{:10_279:}第25行后面没有大括号啊,你的else判定在for 循环外面了,能不报错么
int sqrt_1(int x)
{
int temp,i;
temp=x/2;
for(i=1;i<temp;i++)
{
if(temp*temp==x)
return temp;
}
else
return -1;
}
这段代码有问题,改成这个样子
int sqrt_1(int x) {
int temp,i;
temp=x/2;
for(i=1;i<temp;i++){
if(temp*temp==x){
return temp;
}
else
return -1;
}
}
{:10_250:} 还有就是能别要那么多换行么,明明几行就能搞定的东西,到你这就好多行了。害死强迫症
同感 康小泡 发表于 2016-9-23 11:50
这段代码有问题,改成这个样子
哈哈哈哈哈哈哈哈哈哈之前也是不怎么换行 看小甲鱼视频说 不要怕换行 要勇敢的进行 然后我就经常换行了 新手见谅见谅 我会慢慢改正的 谢谢了
页:
[1]