Prime is an array of bools, yes? Thus, while(!prime[p]) is going to iterate until it reaches one that's false initially, so the ! makes it true.
sorry i`m being so dumb but..............
Yes its an array of bools all of which have been previously set to TRUE after which (and previously) all the even ones have been set to FALSE. So now all the odd ones (which are the only ones we are interested in) are set to TRUE.
But i can`t see how it can evaluate a TRUE one and establish that it is FALSE and is therefore a prime without calling some function.
I really don`t want to waste any more of your time so i`ll keep nagging away at it until some light appears. Its a matter of understanding what you have said above.
thanks