[讨论][原创]关于输入的一个问题
#include<stdio.h>
main()
{
int a[4],i;
for(i=0;i<4;i++)
scanf("%d ",&a[i]);
for(i=0;i<4;i++)
printf("5d%",a[i]);
}
为什么在scanf("%d ",&a[i]); 的%d后跟一个空格后,输入4个整数后,printf输不出来,输入5个整数可以输出来?
#include<stdio.h>
main()
{
int a[4],i;
for(i=0;i<4;i++)
scanf("%d ",&a[i]);
for(i=0;i<4;i++)
printf("5d%",a[i]);
}
为什么在scanf("%d ",&a[i]); 的%d后跟一个空格后,你说得输入4个整数后,printf输不出来,输入5个整数可以输出来?
红色部分写错了,~printf("%5d",a[i]), 你说得输入4个整数后,printf输不出来,输入5个整数可以输出来,用编译器编了,是因为("%d ",&)的d后面多了一个"空格",可能正是有了这个空格之后scanf当作要输入五个数,但输出的却是前四个数?把这个空格删除就行了.