Can anyone tell me how to do as the title says? I'm told that using goto is a no no. Here is some sample code that i can't seem to be able to figure out. I'm a novice by the way Code: #include<stdio.h> int main(void) { while(1) { printf("Hello.\n"); while(1) { while(1) { printf("How do i break out of this loop and back into the Hello loop?\n"); } } } return(0); }
The "break" keyword will break you out of the loop: Code: while(1){ printf("Stuck in the loop\n"); if([I][COLOR="Blue"]somecondition[/COLOR][/I]){ break; } } printf("Broke out of the loop\n");
My way Code: #include<stdio.h> #define TRUE 1 #define FALSE 0 int main(void) { short int exitloop; while(1) { exitloop=FALSE; printf("Hello.\n"); while(1) { while(1) { printf("This is how i break this loop, back into the Hello loop\n"); exitloop=TRUE; break; } if(exitloop==TRUE) break; } } return(0); }
The correct answer depends very much on what you are trying to do. Nesting three infinite loops isn't a practical design for anything I've come across. Let us know what problem you're trying to solve and we'll see if we can come up with a better solution. On the other hand if this is just for academic interest, yeah, just use a goto, whatever works. Makes no difference.