Δημοσιεύτηκε: 24 Μαρ 2012, 20:31
από migf1
Star_Light έγραψε:α! Και για οποιον θέλει (επειδη δεν εχει το βιβλιο του King παρομοιο παράδειγμα) να ενα καλο παραδειγματακι με συνετη χρηση της goto που εφτιαξα το μεσημερι.

Spoiler: show
Κώδικας: Επιλογή όλων

#include <stdio.h>
int main(void)
{
int n;

printf(" Give a nonzero integer : \n");
scanf("%d" , &n);

if ( n == 0 )
goto ex1;

else if( n < 0)
goto ex2;

else
goto ex3;

ex1:
printf(" You gave zero number");
goto end;

ex2:
printf(" You gave negative number");
goto end;

ex3:
printf(" %d " , n);
goto end;

end: ;

return 0;
}

Μόνο συνετή χρήση του goto δεν είναι αυτό (συνετή χρήση είναι το παράδειγμα που ποστάρισα στην προηγούμενη σελίδα). Το συγκεκριμένο μπορεί να μετατραπεί σε συνετή χρήση του goto ως εξής:

Μορφοποιημένος Κώδικας: Επιλογή όλων
#include <stdio.h>
int main(void)
{
int n;

printf("Give a nonzero, positive integer: ");
scanf("%d" , &n);

if ( 0 == n ) {
puts("*** error: you gave zero");
goto exit_error;
}

if ( n < 0) {
puts("*** error: you gave a negative number");
goto exit_error;
}

printf("%d\n" , n);
return 0;

exit_error:
return 1;
}