Question langage C

Résolu/Fermé
seljazou Messages postés 175 Date d'inscription dimanche 6 septembre 2009 Statut Membre Dernière intervention 25 décembre 2009 - 10 nov. 2009 à 19:46
seljazou Messages postés 175 Date d'inscription dimanche 6 septembre 2009 Statut Membre Dernière intervention 25 décembre 2009 - 10 nov. 2009 à 20:38
Bonjour,

je bosse le langage C, je suis débutante, et j'ai plein plein de questions. mais pour l'instant, j'aimerai comprendre la difference entre '=" et "=="

svp s'il y a quelqu'un qui connait la réponse......

merci beaucoup.

4 réponses

Zestyr Messages postés 466 Date d'inscription mercredi 12 août 2009 Statut Membre Dernière intervention 17 octobre 2011 52
10 nov. 2009 à 20:32
Bravo, on peut rien te cacher xD

PS: en C la valeurs d'un boleen sont:
VRAI = 1
FAUX = 0

en C++ les valeurs sont :
VRAI = true
FAUX = false

Bonne continuité !
2
seljazou Messages postés 175 Date d'inscription dimanche 6 septembre 2009 Statut Membre Dernière intervention 25 décembre 2009 1
10 nov. 2009 à 20:38
merciiiii pour vos réponses. J'ai compris maintenant.

Merci beaucoup.

:)
0
Utilisateur anonyme
10 nov. 2009 à 20:09
En termes simples (donc pas très précis) :

"=" sert à assigner une valeur à une variable
"==" sert à comparer deux valeurs ou expressions, etc.

Par exemple,

int a, b, c;
a = 42;
b = 42;
c = (a == b); // assigne à c le résultat booléen du test « a est-il égal à b »
// donc c vaut maintenant 1
c = (a == b+1); // assigne à c le résultat du test « a est-il égal à b + 1 »
// donc c vaut maintenant 0 puisque 42 ≠ 43
1
seljazou Messages postés 175 Date d'inscription dimanche 6 septembre 2009 Statut Membre Dernière intervention 25 décembre 2009 1
10 nov. 2009 à 20:12
oui, mais si on ne raisonne pas en termes de variables booléennes?

j'aimerai comprendre le cas général si c'est possible.

Je bloque sur ce point la :(
0
Le concombre démasqué
10 nov. 2009 à 20:13
salut

= est là pour marquer une affectation : je range qqe chose (une valeur, un résultat) dans une variable
== est un opérateur de comparaison ; l'expression a == b renvoie 1 si a est égal à b, 0 dans le cas contraire (en fait, comme je connais pas C, je suis pas sûr de VRAI=1 et FAUX=0)

si tu écris une instruction a==b; le compilateur testera l'égalité a = b et ne fera rien d'autre
si tu écris if(a=b), le compilateur mettra la valeur de b dans a, et si b est différent de 0, alors le test sera réputé vérifié et l'instruction suivante sera exécutée. de toutes façons, la valeur de a est perdue et donc ignorée.
1
seljazou Messages postés 175 Date d'inscription dimanche 6 septembre 2009 Statut Membre Dernière intervention 25 décembre 2009 1
10 nov. 2009 à 20:24
donc le == est utilisé seulement dans les test? conditions et boucles? et le = est utilisé quand on affecte à des variables des valeurs?

J'espère que c ça, que c po plus compliqué :p
1