'goto" gone from computer languages or is it!

Jim Battle frustum at pacbell.net
Mon May 16 14:19:01 CDT 2005


John Hogerhuis wrote:

> The other one I use it for is jumping past the top of a loop the first
> time only (this code probably doesn't work but you get the idea...):
> 
> #define DIM(a) (sizeof (a) / sizeof (*(a)))
> 
> int ary[4] = {1,3,5,7};
> .
> .
> .
> print_ary (ary, DIM (ary));
> 
> void print_ary (int *aryp, int n)
> {
> 
>    goto skip_comma;
>    for (;n;aryp++, n--)
>       {
>          printf (", ");
> 
> skip_comma:
>           printf ("%u", *aryp);
>       }
>    printf ("\n");
> 
> }

I'd do this, and didn't even know that jumping into the middle of the 
FOR loop was legal.  Even knowing it is legal, I prefer my way (of course):

void print_ary (int *aryp, int n)
{
    int i;
    for (i=0; i<n; aryp++, i++)
       {
           if (i>0)
               printf (", ");
           printf ("%u", *aryp);
       }
    printf ("\n");
}




More information about the cctalk mailing list