J'ai eu ce problème de mal sur mes devoirs, et je ne peux pas comprendre pourquoi:Pourquoi ai-je mal compris cet article sur mes devoirs?
procedure Main is
X: Integer;
procedure Sub1 is
X: Integer;
begin -- of Sub1
Put(X);
end; -- of Sub1
procedure Sub2 is
X: Integer;
begin -- of Sub2
X:=5;
Sub1;
end; -- of Sub2
begin -- of Main
X:=12;
Sub2;
end; -- of Main
La question est la suivante: On suppose le programme Ada a été compilé et exécuter la suite en utilisant des règles statiques-portée. Quelle valeur de X est imprimée dans la procédure de Sub1? Et si c'était sous les règles de portée dyncamic?
J'ai obtenu 12 et 5 respectivement, mais cela a été marqué incorrect. Pourquoi?
Est-ce le nouvel entier initialisé? Alors, que serait X si ce n'est pas déclaré avec une valeur? 0? – kylex
Je ne me souviens pas si Ada initialise des variables pour vous ou non. Je devrais aller déterrer mon livre de texte du sous-sol quelque part. Je soupçonne que le tien est plus facile à atteindre ;-) –