I am attempting to format a space-delimited user input for a programming assignment.
Essentially, the input consists of an arbitrary number of expressions
L integer integer integer integer
and C integer integer integer
.
For example: L 1 1 5 7 C 4 5 3
.
So far, I've managed to extract the integers depending on the initial character, and can iterate through the string using the scanf function:
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
", 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
", x1, y1, x2, y2);
}
}
Unfortunately, although this outputs the desired integers, the loop (and user input prompt) doesn't terminate.
Could someone please enlighten me as to why this is happening?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…