#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b;
float c,d;
long e,f;
unsigned int u,v;
char c1,c2;
scanf("%d,%d",&a,&b);
scanf("%f,%f",&c,&d);
scanf("%ld,%ld",&e,&f);
scanf("%o,%o",&u,&v);
scanf("%c,%c",&c1,&c2);
printf("\n");
printf("a=%7d,b=%7d\n",a,b);
printf("c=%10.2f,d=%10.2f\n",c,d);
printf("e=%17ld,b=%17ld\n",e,f);
printf("u=%o,v=%o\n",u,v);
printf("c1=%c,c2=%c\n",'c1','c2');
return 0;
}
因为第五个输入之间,有其他类型输入,导致输入缓冲有换行符。第五个输入%c,会自动接收换行符,导致你都不需要输入就完成了。在第五个输入之前加个getchar()接收掉换行符就行了