请问c语言可以在if语句中赋值么

#include<stdio.h>
int main()
{ double p,w,s,f,d;
scanf("%lf %lf %lf",&p,&w,&s);
f=p*w*s*(1-d);

if(s>=0&&s<250)
{
d=0;
printf("%.f\n",f);
}

else if(s>=250&&s<500)
{
d=0.02;
printf("%.2f\n",f);
}

else if(s>=500&&s<1000)
{
d=0.05;
printf("%.2f\n",f);
}

else if(s>=1000&&s<2000)
{
d=0.08;
printf("%.2f\n",f);
}

else if(s>=2000&&s<3000)
{
d=0.1;
printf("%.2f\n",f);
}

else
{
d=0.15;
printf("%.2f\n",f);
}
return 0;
}
如上 在执行的时候出现了问题 我觉得是d在赋值的时候出现了问题 求解

完全可以在if语句中赋值的。

#include<stdio.h>
int main()
{double p,w,s,f,d;
scanf("%lf %lf %lf",&p,&w,&s);
if(s>=0&&s<250)d=0;
else if(s>=250&&s<500)d=0.02;
else if(s>=500&&s<1000)d=0.05;
else if(s>=1000&&s<2000)d=0.08;
else if(s>=2000&&s<3000)d=0.1;
else d=0.15;
printf("d=%lf\n",d);
f=p*w*s*(1-d);
printf("%.2f\n",f);
return 0;
}

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