在学习C语言的时候,发现以下程序在运行时有问题
int arr[10]={0};
int i=0;
int a=0;
for(a;a<(int)sizeof(arr)/sizeof(*arr);a++)
{
printf("%d :",a);
scanf_s("%d ",&arr[a]);
}
此程序会出现“吃空白”的错误,即在0:之后的数字输入之后,按下回车不会出现1:,需要再输入一个数字之后按回车才会出现1:,这是因为scanf_s的%d后面有一个空格,程序认为还需要进行输入