answersLogoWhite

0

In short, you don't. By definition, an infinite loop is one that has no exit condition. For example:

while( 1 );

When execution reaches this line, the program will get no further. It will continually execute this same line of code because the only way for this loop to exit is when the literal constant 1 becomes the literal constant 0 -- which would clearly be impossible.

By the same token, the following lines are also infinite loops:

do while( 1 );

for(;;);

Infinite loops of this kind are completely useless in production code. Apart from the fact they do nothing remotely useful, an infinite loop renders the program completely invalid. And yet we hear the term infinite loop being used in code all the time.

The truth is that while we do use the term infinite loop, it is not strictly infinite. What we really mean is that although the loop statement needn't have an exit condition, the body of the loop does!

By way of an example, consider the following infinite loop:

while( 1 )

{

if( !rand() )

break;

}

Here, the loop statement is clearly infinite, but the body contains the all-important exit condition. In this case, the loop continually produces random numbers in the range 0 to 32767. If the number is zero, then control passes to the break statement at which point the loop ends and execution continues at the statement following the closing brace of the loop. Thus on every loop there's a 1 in 32768 chance the loop will end. There's a remote possibility the loop may never end however it's highly unlikely. Note that in its current form, the random numbers will produce the same sequence over an over and the loop will therefore execute the same number of times every time the program is run. But even if we seed the random numbers to produce a different sequence each time, the loop will exit after just a few seconds at most. The odds of never ever producing a zero are remote in the extreme.

So that's the so-called infinite loop -- which is not really infinite after all. But to answer the question, we break out of an infinite loop by providing at least one exit condition within the body of the loop. If the program is to be run within an event-driven environment (such as Windows), we might periodically test the message queue to see if a specific key sequence is pending (such as ESC) and prompt the user to save the current state of the loop so that it can continue at a later date before gracefully exiting the loop. By the same token, we should also check for a program exit message (perhaps the user clicked the close window button, or even chose to shutdown Windows in the middle of the loop) and we must cater for those eventualities too.

Ultimately, how you exit an infinite loop will depend entirely upon the purpose of the loop. There is no one-size-fits-all solution. But there must be at least one exit condition that must logically fire at some point in time. If not, the loop is truly infinite and will completely invalidate your program.

User Avatar

Wiki User

12y ago

What else can I help you with?

Related Questions

Can you write a C program Without turbo C IDE?

Yes you can write a C program without using turbo C IDE. All you need is a text editor like notepad where you can write your codes and after writting them save the file with .c extension. But for compilling and running the code you will be needing turbo C IDE.


In Yu-Gi-Oh 5Ds Stardust Accelerator why does your game freeze when you click on Turbo Deck?

Because you are probably using cheats that what happened to me too so I restarted the whole game again without cheats (except the Infinite DP Cheat).So just use the Infinite DP Cheat because it let me go to Turbo Deck without freezing.


What are the program of turbo pascal?

tagprice


What is the shortcut key in laptop to stop infinite loop of turbo c?

567


What is name of the software in which you create program?

Turbo c3 or Turbo c4. R.P. Hammad Khan_Haider...


Basic parts of TURBO C program?

Editor - edits text Compiler - compiles the program Linker - links the program Debugger - helps finding bugs


How can you use turbo c in Window7?

With program DosBox,


How do you load a program in turbo c?

File/Open


Can you have a turbo timer when you have no turbo?

Yes. It can be installed to your car without having a turbo. Your car will operate the same whether you have a turbo installed or not.


Who is the founder of turbo c program?

Turbo c program is from Borland which is an integrated development environment and a computer language. Some of the parts of turbo c were incorporated from the wizard c in 1987, but it was first developed by Dennis Ritchie in 1970.


If the blades in a turbo charger break off will it effect the intercooler?

Yeah...I guess you could say that. If you break a blade in a turbocharger, the out-of-balance condition will cause the turbo to self-destruct. Said exploding turbo will take out your intercooler too.


What has the author Eric P Bloom written?

Eric P. Bloom has written: 'The Turbo C++ trilogy' -- subject(s): C (Computer program language), C++ (Computer program language), Turbo C (Computer file), Turbo C++ 'Turbo C Plus Plus Trilogy' 'The C trilogy' -- subject(s): C (Computer program language)