プログラミング割り当てのために、スペースで区切られたユーザー入力をフォーマットしようとしています。
基本的に、入力は任意の数の式で構成されます
L integer integer integer integer
とC integer integer integer
。
例: L 1 1 5 7 C 4 5 3
.
これまでのところ、最初の文字に応じて整数を抽出することができ、scanf 関数を使用して文字列を反復処理できます。
char a;
while(scanf("%c", &a) == 1){
if(a == 'C'){
int inputX, inputY, inputR;
scanf("%d %d %d", &inputX, &inputY, &inputR);
printf("%d %d %d\n", inputX, inputY, inputR);
}
else if(a == 'L'){
int x1, y1, x2, y2;
scanf("%d %d %d %d", &x1, &y1, &x2, &y2);
printf("%d %d %d %d\n", x1, y1, x2, y2);
}
}
残念ながら、これは目的の整数を出力しますが、ループ (およびユーザー入力プロンプト) は終了しません。
なぜこれが起こっているのか、誰かが私に教えてもらえますか?