petit test interessant :
que fait le bout de code suivant ?
Code:for(int x=0; x=3; x++);
Version imprimable
petit test interessant :
que fait le bout de code suivant ?
Code:for(int x=0; x=3; x++);
bonjour
Ta boucle se contente de prendre le temps processeur nésseçaire pour vérifier que 0 n'est pas égal à 3 et est totalement inutile.
De même, ton message est probablement assez inutile aussi vu que tu aurais pu le vérifier en prenant la peine de taper ça dans ton compilateur.
j'ai pris la peine de le faire. j'aurais du poser ma question autrement désolé :oops:
tel que c'est ecrit la c'est une boucle infinie qui initialise x a 0, et tant que le resultat de l'affectation de 3 a x est vrai (ce qui est toujours vrai puisque le resultat de x = 3 est 3) incremente x.
il y a sans doute une erreur de recopie quelque part
merci screetch
C'est une boucle infinie :
Avec comme valeur pour X
0 a l'initialisation
3 dans le test/affectation x = 3
4 dans le troisième argument du for
3
4
3
4
3
4
....
l'intérêt c'est de savoir si les gens différencient les = des == :aie:
Woah.
Tu sais que la différence est quand même très très grosse ?
Ces 2 opérateurs n'ont aucun lien sémantique, le premier est un opérateur d'affectation et le second un opérateur de comparaison.
Je ne vois pas où tu veux en venir...
Tu te demandes combien de gens sont assez idiot que pour pouvoir faire l'erreur ?
À part des débutants et des gens revenus sur le C++ après avoir fait un très long voyage en Pascal (ou autre langage où le = est un opérateur de comparaison), je vois pas qui pourrait tomber dans le piège. Ce n'est même pas un piège, en réalité.
'fin bref, désolé, mais je prend ton post comme un foutage de gueule.
(et je crois être correct lorsque je dis que je pense que si mephistoph est tombé dans ton "piège", c'est uniquement parce qu'il pensait répondre à ta question initiale, qui est "que fait une boucle for" sans forcément faire attention à la syntaxe de ton code, ce qui peut arriver à tout le monde, quand on pense que les gens sont sérieux)
pas de soucis. je ne disais pas ça dans le but de me moquer de quique se soit. J'aurais été le premier à faire l'erreur.
En fait pour la petite histoire j'ai trouvé cette ligne de code dans un test de recrutement. J'ai trouvé cela interessant car souvent on écrit un for par automatisme sans se rappeler exactement de la signification de chaque champs.
Encore une fois ne m'en veuillez pas.
D'ailleurs j'ai souvent vu employer l'écriture :
pour avoir une erreur en cas d'écriture deCode:valeur==variable
Code:valeur=variable
genre
moi je voulais montrer un vieux bout de code qui nous a bien fait rigoler mais aussi bien suer, car le code fonctionne a moitié (en fait, EXACTEMENT a moitié, au sens propre du terme :p) et c'est souvent encore plus dur a débugger que du code qui marche pas du tout :Code:
1
2
3 if(NULL=file) { }
marrant quand meme :pCode:
1
2
3
4 for(std::vector<Entity>::iterator it = entities.begin(); it != entities.end(); ++it++) { //blabla }
Sinon, ne serait-ce pas tout simplement une boucle for normale dont le '<' aurait été effacé par un mauvais filtre anti-HTML?
Vous êtes quand même super agressifs avec Elay, je trouve ça intéressant de trouver les erreurs dans un bout de code. Même si là c'est assez facile ^^