Inscription / Connexion Nouveau Sujet
Niveau autre
Partager :

language C

Posté par
fati431
04-01-20 à 21:52

Salut,
s'il vous plaît qu'affiche le programme suivant?
#include<stdio.h>
main()
{
int c=2, d=5 , e=10, a;
a=c>1?d>1 || a>1?100:200:300;
printf("a=%d",a);
}
A- a=100.    B- a=200   C-a=300
Et pourquoi?
Merci d'avance

*** Modération > forum modifié * merci de ne pas poster n'importe où ***

Posté par
fati431
re : language C 06-01-20 à 12:59

Up

Posté par
trapangle
re : language C 06-01-20 à 13:42

Bonjour,

Tu connais l'opérateur ternaire () ?
Qu'est-ce qui te coince ?
Si tu veux seulement avoir la réponse sans comprendre, tu peux aussi simplement exécuter le code, tu auras la réponse.

Posté par
mathafou Moderateur
re : language C 06-01-20 à 13:43

bonjour,
se rappeler que

condition ? cas vrai : cas faux
est une expression conditionnelle qui a la valeur de "cas vrai" ou de "cas faux" selon la valeur logique de la condition

que || est le ou logique

tenir compte des priorités

et suivre le fil de cette expression volontairement illisible (volontairement sinon il n'y aurait pas d'exo), exemple de ce qu'il ne faut surtout pas faire ...

moi j'aurais au minimum ajouté des parenthèses ...
et à moins que ce ne soit dans un concours du genre "calculer pi en une seule ligne de code la plus courte possible", l'usage de cette structure dans des expressions complexes (à plus de un seul étage de condition) est fortement déconseillé !!



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 !