打印浮点值时出现奇怪的行为

pr1*_*m3x 1 c

这是我的计算

float c = 5.0 * (12.0 - 32.0) / 9.0;
printf("%f.2", c);
Run Code Online (Sandbox Code Playgroud)

结果是-11.111111.2但我预计是-11.11.怎么了 ?

NPE*_*NPE 5

格式说明符应该是读取的"%.2f".

你现在所拥有的,.2是错位的.这就是为什么你得到的数字比预期的多,以及为什么.2在输出结束时逐字显示.