对于scanf进行输入类型之间空格问题,

对于scanf进行输入类型之间空格问题,

#include
int main ()
{
float i ,m;
int j ;
char k ;
scanf("%f %d %c %f",&i,&j,&k,&m); //输入类型%f与%d %c %f 之间加了空格
printf("%c %d %.2f %.2f",k,j,i,m);
return 0 ;
}
输出正常:

img


#include
int main ()
{
float i ,m;
int j ;
char k ;
scanf("%f%d%c%f",&i,&j,&k,&m); //输入类型%f与%d %c %f 之间不加空格
printf("%c %d %.2f %.2f",k,j,i,m);
return 0 ;
}
输出结果:

img

输入类型%f与%d %c %f 之间不加空格 的时候执行之后输入程序不是默认以空格隔开的吗/。为什么这次就报错了啊。初学c求解

因为使用了%c导致把你空格当做输入值了