int ch;
do
{
ch = getchar();
printf("ch = %d\n",ch);
}while(ch != '\n' && ch != EOF);
この場合、入力1234の出力は次のようになります。
ch = 49
ch = 50
ch = 51
ch = 52
ch = 10
しかし、このようにそれを与えると
char chs[100] = {0};
unsigned int u = 0;
int sign = 1,k=0;
if(scanf("%[- 0-9]",&chs[0])== 1)
{
int ch;
do
{
ch = getchar();
printf("ch = %d\n",ch);
}while(ch != '\n' && ch != EOF);
この場合、input=1234の出力は
ch =10
なぜこれがここで起こっているのですか?誰か説明してもらえますか...出力が以前と同じにならないのはなぜですか??
scanfはここでどのように機能していますか?