Perfectionnement à la programmation en C — Licence 2 Informatique

HomeResearchTeaching

Exercice 2.1.

  1. Voir le cours.

  1. Cette expression n’est pas à effet secondaire.

  2. Cette expression est à effet secondaire. L’impression sur la sortie standard modifie en effet l’état de la mémoire (écriture dans stdout).

  3. Cette expression est à effet secondaire. Une variable est déclarée, ce qui modifie en effet la mémoire.

  4. Cette expression est à effet secondaire. En plus de la déclaration, une affectation est réalisée, ce qui produit dans un effet secondaire car la mémoire est modifiée.

  5. Cette expression est à effet secondaire. Une affectation est réalisée.

  6. Cette expression n’est pas à effet secondaire. Il s’agit d’une expression booléenne. La mémoire n’est pas modifiée mais seulement lue (pour accéder à la valeur de a).

  7. Cette expression n’est pas à effet secondaire. Même remarque que pour la question précédente.

  8. Cette expression n’est pas à effet secondaire. Même remarque que pour la question précédente.

  9. Cette expression est à effet secondaire. Lors de l’évaluation de l’expression booléenne dans la condition du if, la valeur de a est modifiée.

  10. Cette expression est à effet secondaire. La valeur de a est incrémentée.

  11. Cette expression n’est pas à effet secondaire. La valeur de a est lue mais pas modifiée.

  12. Cette expression n’est pas à effet secondaire. L’évaluation de cette expression produit une boucle infinie mais aucune valeur en mémoire n’est modifiée.

  13. Cette expression est à effet secondaire. La valeur de a est modifiée à chaque tour de boucle.

  14. Cette expression n’est pas à effet secondaire. Par convention, un return EXP; ne produit pas d’effet quand l’expression EXP ne produit pas d’effet secondaire.

  15. Cette expression n’est pas à effet secondaire. Même remarque que pour la question précédente.

  16. Cette expression n’est pas à effet secondaire. Même remarque que pour la question précédente.

  17. Cette expression est à effet secondaire. L’effet secondaire est provoqué par l’affectation d’une valeur à p.

  18. Cette expression est à effet secondaire. L’effet secondaire est provoqué par l’appel à malloc : il réserve une place dans la mémoire, ce qui change sa politique de segmentation, et donc, la modifie.