INFO: Jumping into the Middle of a For Loop Is Not Recommended

ID: Q19972


The information in this article applies to:
  • Microsoft C for MS-DOS, versions 5.1, 6.0, 6.0a, 6.0ax
  • Microsoft C for OS/2, versions 5.1, 6.0, 6.0a
  • Microsoft C/C++ for MS-DOS, version 7.0
  • Microsoft Visual C++ for Windows, 16-bit edition, versions 1.0, 1.5
  • Microsoft Visual C++, 32-bit Editions, versions 1.0, 2.0, 4.0, 5.0, 6.0


SUMMARY

In Microsoft C and in Microsoft C/C++, the goto statement and its corresponding label must be part of the same function; no other restrictions apply. However, because different compilers optimize for loops and allocate stack space for automatic variables in various ways, using a goto statement to transfer flow-of-control into the middle of a for loop is not portable and is considered unsafe.

The most common use for the goto statement in structured programming involves error handling. In these cases, the goto statement usually leads out of a deeply nested for loop.

Additional query words:

Keywords : kbLangC kbVC kbVC100 kbVC150 kbVC200 kbVC210 kbVC400 kbVC500 kbVC600
Version : MS-DOS:5.1,6.0,6.00a,6.00ax,7.0; WINDOWS:1.0,1.5; WINDOWS NT:1.0,2.0,4.0,5.0
Platform : MS-DOS NT WINDOWS
Issue type : kbinfo


Last Reviewed: June 18, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.