现在90号汽油6.95元/升、93号汽油7.44元/升、97号汽油7.93元/升。推出了“自助服务”和“协助服务”两个服务等级,分别可得到5%和3%的折扣。

#include <stdio.h>
int main()
{
int a,b;
double p1,p2,p;
char c;
scanf("%d %d %c",&a,&b,&c);
if(b==93)
p1=7.44;
if(b==90)
p1=6.95;
if(b==97)
p1=7.93;

if(c='e')
p2=0.97;
else
p2=0.95;

p=a*p1*p2;
printf("%.2lf",p);

    
return 0;

}
我想知道这个代码错哪里了

if(c='e')
这是赋值,不是比较。同时double类型的输入是%lf
改为

if(c=='e')

#include <stdio.h>
int main()
{
int a,b;
double p1,p2,p;
char c;
scanf("%ld %ld %c",&a,&b,&c);
if(b==93)
p1=7.44;
if(b==90)
p1=6.95;
if(b==97)
p1=7.93;
if(c=='e')
p2=0.97;
else
p2=0.95;
p=a*p1*p2;
printf("%.2lf",p);   
return 0;
}

因为c==m要这样表示