在下面的代码中,当我在 [az] 中输入任何内容后跟 \n forc
时,它接受并打印“输入 d”。但是,当我为 提供任何数字时c
,会扫描该值以查找变量d
,然后仅显示“输入 d”。这是怎么发生的?
#include<stdio.h>
void main()
{
char c[10],d[10];
int i,j;
printf("enter c:");
i=scanf("%[a-z]%1[\n]",c);
printf("\nenter d:");
j=scanf("%[ 0-9]%1[\n]",d);
printf("\nc : %s-%d\n",c,i);
printf("\nd : %s-%d\n",d,j);
}
我的输出是:
enter c:12
enter d:c:�-0
d:12-2