次のコードでは、[az] に何かを入力し、その後に \n for をc
入力すると、「enter d」が受け入れられて出力されます。しかし、 に数値を指定するとc
、その値が変数に対してスキャンされ、d
「enter 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