求解scanf读取5.2f时出的问题
程序代码:#include<stdio.h>
#include<windows.h>
void main()
{
float a,b,c;
scanf("%5.2f%5.2f%5.2f",&a,&b,&c);
if(a>b&&a>c)
printf("max=%5.2f\n",a);
else if (b>a&&b>c)
printf("max=%5.2f\n",b);
else
printf("max=%5.2f\n",c);
system("pause");
}以上是我的代码,123 222.22 11.33
max=-107374176.00
上面是我输入的内容和输出的结果max=-107374176.00
但是如果我把上面的程序改成下面的话
程序代码:#include<stdio.h>
#include<windows.h>
void main()
{
float a,b,c;
scanf("%f%f%f",&a,&b,&c);
if(a>b&&a>c)
printf("max=%5.2f\n",a);
else if (b>a&&b>c)
printf("max=%5.2f\n",b);
else
printf("max=%5.2f\n",c);
system("pause");
}
生成的结果就对了123 222.22 11.33
max=222.22
请问为什么会出现这个现象?max=222.22









