这个程序哪里出了问题
#include"stdio.h"main()
{
int i,n1,n2;
char str[20];
char c1,c2,a,b,c3,c4;
float x,y,z,p;
long int x1,x2;
printf("请输入一个十进制整数:");
scanf("%d",&i);
printf("请输入一个字符串:");
scanf("%s",&str);
fflush(stdin);
printf("请输入第一个字符:");
scanf("%c",&c1);
fflush(stdin);
printf("请输入第二个字符:");
scanf("%c",&c2);
fflush(stdin);
printf("请输入两个字符串:");
scanf("%c%c",&a,&b);
printf("请输入两个十进制整数(用空格隔开)、两个连续字符(用空格隔开)、三个小数(用空格隔开)、逗号、又一个小数:\n");
scanf("%5d%5d%c%c%f%f%*f,%f",&n1,&n2,&c3,&c4,&x,&y,&z,&p);
printf("请输入大于四位数的十进制整数:");
scanf("%4d%4d",&x1,&x2);
printf("i=%d\n",i);
printf("c1=%c\n",c1);
printf("c2=%c\n",c2);
printf("a=%c,b=%c\n",a,b);
printf("n1=%d\n n2=%d\n c3= %c\n c4=4%c\n x=%f\n y=%f\n z=b%f\n p=%f",n1,n2,c3,c4,x,y,z,p);
printf("x1=%d,\n x2=%d",x1,x2);
}
不懂的地方: scanf("%4d%4d",&x1,&x2);为什么要加数字4?
scanf("%5d%5d%c%c%f%f%*f,%f",&n1,&n2,&c3,&c4,&x,&y,&z,&p); %*f代表的是什么?