格式化输入输出的简单问题,%f和%lf

当代码是

#include<stdio.h>
int main(void){
	double mile;
	int time;
	scanf("%f %d",&mile,&time);
	printf("%f %d\n",mile,time);
		return 0;
} 

运行

当代码是:

#include<stdio.h>
int main(void){
	double mile;
	int time;
	scanf("%lf %d",&mile,&time);
	printf("%f %d\n",mile,time);
		return 0;
} 

 

结果: 

有大佬知道问题所在,以及应该怎么修改吗?

double对应的格式输入输出是%lf,float对应的格式输入输出是%f,虽然有时候混用了也会输出正确答案,但是有时候就会出现异常

第二次代码的结果是什么?

建议规范书写,double就用%lf,float就用%f