程序输出值是116.2,我计算器按是124.7,有人知道为什么两个值不一样吗?

#include
int main()
{
int i1=10;//整型10

char c='a';//字符a 码值97

float f1=1.5f;//浮点1.5

float f2=3.2f;//浮点3.2

int i2=6;//整型6

float h=(f1+'a')-f1+f2*i2;

printf("%f\n",h);

return 0;

}

程序是对的,如下
(f1+'a')-f1+f2*i2 = f1 - f1 + 'a' + f2 * i2 = 97 + 3.2 * 6 = 97 + 19.2 = 116.2
是变量哪里写错了吧,i1没有用到

计算器咋按的啊?
float h=(f1+'a')-f1+f2*i2 = 'a' + f2 * i2 = 97 + 3.2 * 6 = 97 + 19.2 = 116.2