From ff138532105db5b967286c264fb1e69efe070cfa Mon Sep 17 00:00:00 2001 From: thib <tempo2riz@gmail.com> Date: Wed, 10 Mar 2021 14:39:48 +0100 Subject: [PATCH] answers --- calculator/ANSWERS.md | 60 ++++++------------------------------------- 1 file changed, 8 insertions(+), 52 deletions(-) diff --git a/calculator/ANSWERS.md b/calculator/ANSWERS.md index f04cd81..b5b45bb 100644 --- a/calculator/ANSWERS.md +++ b/calculator/ANSWERS.md @@ -1,54 +1,10 @@ -<!-- EX2 --> -void foo(int a) { - a += 3; -} -<!-- a=5 --> -void bar(int *a) { - *a += 3; -} -<!-- a=8 --> -void baz(int *a) { - a += 3; -} -<!-- adresse de a +3 p.e erreur--> -int main() { - int a = 5; - foo(a); - bar(&a); - baz(&a); -} -<!-- EX 2 --> -char *foo(int a) { - char tab[a]; - <!-- manque un malloc sinon le return ne marchera pas (adresse invalide en dehors de la fonction) --> - for (int i = 0; i < a; ++i) { - tab[i] = 'a'; - } - return tab; -} +ex 1: +1. copie a reste 5 +2. valeur de a + 3 +3. adresse de a + 3 possible erreur -char *bar(int a) { - char *tab = malloc(a); - for (int i = 0; i < a; ++i) { - tab[i] = 'a'; - } - return tab; -} - -void baz(char *tab, int b) { - tab = malloc(b); - for (int i = 0; i < a; ++i) { - tab[i] = 'a'; - } -} - -int main() { - char *a = foo(4); <!-- a=[a,a,a,a] --> - char *b = bar(4); - char *c = malloc(4); - baz(c, 4); - free(a); - free(b); - free(c); -} +ex 2: +1. manque un malloc sinon le return ne marchera pas (adresse invalide en dehors de la fonction) +2. corriger : malloc(sizeof(char)*a) a=[a,a,a,a] +3. malloc 1 fois en trop -- GitLab