为啥编译失败 程序如下 #include<stdio.h> int main() { f

为啥编译失败 程序如下 #include int main() { float p,a,q; scanf("%f%f",&p,&q); char m=12*q; switch(m) { case 6: a=p*q*0.0255; break; case 12: a=p*q*0.0275; break; case 24: a=p*q*0.0335; break; case 36: a=p*q*0.0400; break; case 60: a=p*q*0.0475; break; } printf("%.2f\n",a); return 0; }#include int main() { float p,a,q; scanf("%f%f",&p,&q); char m=12*q; switch(m) { case 6: a=p*q*0.0255; break; case 12: a=p*q*0.0275; break; case 24: a=p*q*0.0335; break; case 36: a=p*q*0.0400; break; case 60: a=p*q*0.0475; break; } printf("%.2f\n",a); return 0; }

编译报啥错啊?

#include int main() ,这算什么写法,#include后面包含的头文件呢

char m=12*q---这个怎么理解,为啥输入的是浮点数,然后乘以12转换成一个char?

#include<stdio.h>
int main() { 
float p,a,q; 
scanf("%f%f",&p,&q); 
char m=12*q; 
switch(m) { 
    case 6: a=p*q*0.0255; break;
    case 12: a=p*q*0.0275; break;
    case 24: a=p*q*0.0335; break; 
    case 36: a=p*q*0.0400; break;
    case 60: a=p*q*0.0475; break; 

printf("%.2f\n",a); 
return 0;
}