C a un rapport goto qui permet à des sauts non structurés d'être faits. Pour employer un rapport goto, vous employez simplement le goto réservé de mot suivi du nom symbolique auquel vous souhaitez sauter. Vous pouvez sauter presque n'importe où dans une fonction, mais vous n'êtes pas autorisés pour sauter dans une boucle.

Files Recovery Software
Accueil Coordonnées Soutien à la clientèle Télécharger la démo Produits  

 
 

 

Le rapport goto

C a un rapport goto qui permet à des sauts non structurés d'être faits. Pour employer un rapport goto, vous employez simplement le goto réservé de mot suivi du nom symbolique auquel vous souhaitez sauter. Le nom est alors placé n'importe où dans le programme suivi des deux points. Vous pouvez sauter presque n'importe où dans une fonction, mais vous n'êtes pas autorisés pour sauter dans une boucle, bien qu'on te permette de sauter d'une boucle.

Ce programme particulier est vraiment un désordre mais c'est un bon exemple de pourquoi les auteurs de logiciel essayent d'éliminer l'utilisation du rapport goto autant que possible. Le seul endroit dans ce programme où il est raisonnable d'employer le goto est, où le programme saute des trois boucles nichées dans un saut. Dans ce cas-ci il serait plutôt malpropre pour établir une variable et pour sauter successivement hors de chacune des trois boucles nichées mais un rapport goto vous obtient hors de chacun des trois d'une façon très concise.

Quelques personnes disent que le rapport goto devrait ne jamais être employé dans toutes les circonstances, mais c'est pensée occupée par étroit. S'il y a un endroit où une volonté goto font clairement un écoulement plus ordonné de commande qu'une autre construction, sensation libre pour l'employer, cependant, comme elle est dans le reste du programme sur votre moniteur. Voyons l'exemple :

#include <stdio.h>

int main()
{
int dog, cat, pig;

goto real_start;

some_where:

printf("This is another line of the mess.\n");

goto stop_it;

/* la section suivante est la seule section avec un goto utilisable */
real_start:

for(dog = 1 ; dog < 6 ; dog = dog + 1)
{

for(cat = 1 ; cat < 6 ; cat = cat + 1)
{

for(pig = 1 ; pig < 4 ; pig = pig + 1)
{
printf("Dog = %d Cat = %d Pig = %d\n", dog, cat, pig);

if ((dog + cat + pig) > 8 ) goto enough;
}
}
}

enough: printf("Those are enough animals for now.\n");
/* c'est l'extrémité de la section avec un rapport goto utilisable */

printf("\nThis is the first line of the code.\n");
goto there;

where:
printf("This is the third line of the code.\n");
goto some_where;

there:
printf("This is the second line of the code.\n");
goto where;

stop_it:
printf("This is the last line of this mess.\n");
return 0;
}

Voyons les résultats montrés

Dog = 1 Cat = 1 Pig = 1
Dog = 1 Cat = 1 Pig = 2
Dog = 1 Cat = 1 Pig = 3
Dog = 1 Cat = 2 Pig = 1
Dog = 1 Cat = 2 Pig = 2
Dog = 1 Cat = 2 Pig = 3
Dog = 1 Cat = 3 Pig = 1
Dog = 1 Cat = 3 Pig = 2
Dog = 1 Cat = 3 Pig = 3
Dog = 1 Cat = 4 Pig = 1
Dog = 1 Cat = 4 Pig = 2
Dog = 1 Cat = 4 Pig = 3
Dog = 1 Cat = 5 Pig = 1
Dog = 1 Cat = 5 Pig = 2
Dog = 1 Cat = 5 Pig = 3

Those are enough animals for now.

This is the first line of the code.
This is the second line of the code.
This is the third line of the code.
This is another line of the mess.
This is the last line of this mess.



Previous page

page 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |

 
 

page 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34

 
 

page 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50

 
 

page 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60

Next page
 
 
Récupération de données livre
 
Chapitre 1 Une vue d'ensemble de rétablissement de données
Chapitre 2 Introduction des disques durs
Chapitre 3 Approche logique aux disques et à l'OS
Chapitre 4 Systèmes de numération
Chapitre 5 Introduction de la programmation de C
Chapitre 6 Introduction aux fondations d'ordinateur
Chapitre 7 Commandes nécessaires de DOS
Chapitre 8 Fonctions et interruptions de Disque-BIOS manipulant avec C
Chapitre 9 Manipulation de grands disques durs
Chapitre 10 Rétablissement de données de disque souple corrompu
Chapitre 11 Fabrication des protections
Chapitre 12 MBR de lecture et de modification avec la programmation
Chapitre 13 DBR de lecture et de modification avec la programmation
Chapitre 14 Programmation pour le rétablissement " de dossier cru "
Chapitre 15 Programmation pour des essuie-glace de données
Chapitre 16 Développer plus d'utilités pour des disques
Annexe Glossaire des limites de rétablissement de données
 
 
Pro Data Doctor

Accueil

Produits

Coordonnées

Soutien à la clientèle

Télécharger la démo

Conditions générales de vente

 
Pro Data Doctor