So let's say I have a while loop that will end when the condition "isDone" is set to true. Inside the while loop, I ask the user to either enter an integer to continue the loop or a character to end it (by setting "isDone" to true).
How would I go about this using only one scanf()?
The suggestion above is good advice: you're probably better off not using
scanf()
at all. It might be better to use something like fgets() instead, and then parse the string. Or even better, just use getchar().But anyway ...
Remember that, in C, a "character" IS an integer. So just
scanf("%c", &i)
and check if you've got an "integer" (isdigit()) or a "character" (isalpha()).