可以看一下哪里出错了吗,显示y=2^x+x;这一行有错

img

int main()
{
float x,y;
printf("-----计算公式!-----\n");
printf("x=");
scanf("%f",&x);
if(x<-3)
{
y=x-sin(x);
}
else if(-3<=x&&x<=3)
{
y=2^x+x;
}
if(x>3)
{
y=sqrt(xx+2x+3);
}
printf("y=%.2f\n",y);
return 0;
return 0;
}


# include<stdio.h>
#include<math.h>
int main()
{
    float x, y;
    printf("-----计算公式!-----\n");
    printf("x=");
    scanf("%f", &x);
    if (x < -3)
    {
        y = x - sin(x);
    }
    else if (-3 <= x && x <= 3)
    {
        y = pow(2,x) + x;
    }
    if (x > 3)
    {
        y = sqrt(x*x + 2*x + 3);
    }
    printf("y=%.2f\n", y);
    return 0;
    return 0;
}


得包含math库,用pow()求2的x次方
修改如下

img

#include <stdio.h>
#include <math.h>
int main()
{
    float x,y;
    printf("-----计算公式!-----\n");
    printf("x=");
    scanf("%f",&x);
    if(x<-3)
    {
        y=x-sin(x);
    }
    else if(-3<=x&&x<=3)
    {
        y=pow(2,x)+x;
    }
    if(x>3)
    {
        y=sqrt(x*x+2*x+3);
    }
    printf("y=%.2f\n",y);
    return 0;
    return 0;
}

C语言的^,不是幂运算符,而是按位异或运算符!准确的说,C语言没有幂运算符!你可以自己定义幂函数!
希望采纳