c语言初学者,求大神看看下面这段程序错在哪里

#include<stdio.h>
main()
{
double x,y;
printf("input x");
scanf("%f",&x);
if(-5<=x && x<0 && x!=-2);
y=1/(x+2);
else
y=x*x-x-1
printf("x=%.2f,y=%.1f\n",x,y)
}

if(-5<=x && x<0 && x!=-2); 后面的分号去掉追问

去掉了分号还是有错

追答

y=x*x-x-1
printf("x=%.2f,y=%.1f\n",x,y)

这两行添加上分号 另外,float对应%f double对应%lf

追问

怎么改。。。
后面那个对应是怎么回事

追答#include<stdio.h>
main()
{
double x,y;
printf("input x");
scanf("%lf",&x);
if(-5 <= x && x < 0 && x != -2)
    y=1/(x+2);
        else
            y=x*x-x-1;
        printf("x=%.2lf,y=%.1lf\n",x,y);
}

///不同的数据类型,对应了不同的输出格式,你输出int 用%d,这就是对应

温馨提示:答案为网友推荐,仅供参考
相似回答