程序中illegal break是什么意思,哪错了

2025-01-07 05:23:55
推荐回答(4个)
回答1:

break这组语句已经不属于for循环体了
若for循环内含有多条语句的话应该用{}括起来。
而break应该用在循环内部
#include
main()
{
double m,n,s=1.0;
for (n=1;;n++)
{
m=1/((2*n-1)*(2*n));
s=s*m;
if (s<0.0001)
break;
}

printf("最终的积为%f",s);
}

回答2:

那句原意是break用错了,不过看了一下程序,感觉是for循环没加花括号
修改了一下:
#include
main()
{
double m,n,s=1.0;
for (n=1;;n++)
{
m=1/((2*n-1)*(2*n));
s=s*m;
if (s<0.0001) break;
}
printf("最终的积为%f",s);
}

回答3:

1.少了括号
2.s不可能满足 应该是m参与if的条件
3.%f不能体现精度

#include
main()
{
double m,n,s=1.0;
for (n=1;;n++){
m=1/((2*n-1)*(2*n));
s=s*m;
if (m<0.0001)
break;}
printf("最终的积为%e",s);
}

回答4:

continue和break用来跳出循环的。
你用return试试。