Inscription / Connexion Nouveau Sujet
Niveau Licence Maths 1e ann
Partager :

Langage c

Posté par
Godson
03-03-19 à 13:36

bonjour,
j'aimerai que vous m'aidez a identifier et corriger une ou des erreurs dans chacun des cas suivants:

a)  if (age>=65);
printf("il est superieur ou egal  à 65\n");
else
printf("il est inferieur à 65\n");

pour ce cas j'ai identifier une erreur au niveau de la condition if le point virgule ne se trouve pas devant la condition

b)int x=1, total;
while(i<=10){
total+=x;
++x;
}

c)void f(float a)
  {
       float a;
       printf(''%f",a);
  }
ici on etait pas obliger de declarer float a dans la declaration  fonction

d) for( x=100, x>=1 , x++)
printf("%d"\n,x);

ici a la place de la virgule c'est plutot un point virgule
et au lieu de  >= c'est plutot <= si non on aurra une boucle infinir

e) for(y=.1 ; y!=1.0; y+=.1)
printf("%f\n",y);

ici j'ai pas compris pourquoi le .

f) int tot (int n)
   { if (n==0) return 0;
     else
     n==tot(n-1);
  }
merci d'avance pour votre aide

Posté par
boninmi
re : Langage c 03-03-19 à 17:02

Bonjour,

a) il ne doit pas y avoir de ; ni avant ni après la condition

b) i n'est ni déclaré, ni initialisé, ni modifié dans la boucle

c) le paramètre local a ne reçoit aucune valeur. printf produira une erreur ou une valeur incorrecte. Le paramètre a passé dans l'appel de procédure sera inutilisé

d)Ok

e) Le type de y est absent. La troisième expression dans la parenthèse n'est pas un test. Son évaluation ne donnera pas la valeur booléenne attendue.

f) L'expression dans le else est un test, et ne renvoie rien. Si c'était une affectation qui était souhaitée, c'est incorrect aussi: on ne modifie pas la valeur d'un paramètre donnée à l'intérieur d'une procédure.

Sauf souvenirs trop anciens de ma part.

Posté par
Godson
re : Langage c 04-03-19 à 20:51

Merci pour votre aide

Posté par
mathafou Moderateur
re : Langage c 05-03-19 à 12:59

Bonjour,

e) Le type de y est absent. OK
La troisième expression dans la parenthèse n'est pas un test. Son évaluation ne donnera pas la valeur booléenne attendue.
ça tombe bien cette 3ème expression doit être une modification du paramètre de boucle, pas un test

Posté par
boninmi
re : Langage c 05-03-19 à 13:05

mathafou @ 05-03-2019 à 12:59

Bonjour,

e) Le type de y est absent.   OK
  La troisième expression dans la parenthèse n'est pas un test. Son évaluation ne donnera pas la valeur booléenne attendue.
ça tombe bien cette 3ème expression doit être une modification du paramètre de boucle, pas un test

Exact. J'ai un peu perdu la main ...



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !