Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 268

 
borilunad:

Merci ! Je ne savais pas qu'on pouvait comparer comme ça ! Il y a un nombre n d'articles, et N est la limite du nombre d'articles ! Je vais jeter un coup d'œil au Doc, pour me vider la tête !

Je n'ai pas trouvé ce cas dans le Doc. Combien plus d'inconnu nous attend !


Ceci est tiré de la norme C. Vous pouvez comparer beaucoup de choses au C en général - un langage mal typé, mais toute la responsabilité repose sur le programmeur. MKL est essentiellement un C dépouillé, écrit en lui (plus précisément, MS VS 6.0 est C\C++), probablement, le projet a déjà été porté sur une plateforme plus moderne. Ce n'est pas pour rien que les développeurs ont suggéré de se référer à la norme C pour tous les cas de faible visibilité dès les premiers jours du développement de MKL4.
 
borilunad:

Je n'ai pas trouvé cette affaire dans le Dock. Combien d'inconnu et de méconnaissance nous attendent !

Lire l'expression de gauche à droite par défaut.
 
VladislavVG:

Pourquoi y a-t-il une erreur ? Les deux sont corrects du point de vue du compilateur, mais ils signifient des choses différentes et c'est au programmeur d'en décider ;).

Ne vous laissez pas tromper. Le résultat d'une opération booléenne sera 0 ou 1 (je suppose), donc les expressions ne sont pas équivalentes, quelle que soit la façon dont les opérateurs sont évalués, parce que la deuxième comparaison se fera avec un résultat booléen.
 
TheXpert:
Ne vous laissez pas tromper. Le résultat d'une opération booléenne sera 0 ou 1 (je suppose), donc les expressions ne sont pas équivalentes quel que soit l'ordre dans lequel les opérateurs sont évalués, parce que la deuxième comparaison se fera avec un résultat booléen.

Est-ce qu'on parle déjà de bon sens ?
 
TheXpert:
Ne vous laissez pas tromper. Le résultat d'une opération booléenne sera 0 ou 1 (je suppose), donc les expressions ne sont pas équivalentes quel que soit l'ordre dans lequel les opérateurs sont évalués, parce que la deuxième comparaison se fera avec un résultat booléen.

Tout à fait juste et ce 0/1 sera comparé à N. Et où ai-je induit en erreur ? Et de quelle équivalence d'expressions parlez-vous ?
 
VladislavVG:

Tout à fait juste et ce 0/1 sera comparé à N. Et où ai-je induit en erreur ? Et de quelle équivalence d'expressions parlez-vous ?

Ce n'était pas adressé à toi, ichyko.
 
tara:

Ce n'était pas adressé à toi, ichyko.


Eh bien, dans ce message ,TheXpert cite mon message. On peut donc comprendre qu'il s'agit d'une réponse à ma déclaration.

Je ne parlais pas d'équivalence d'expressions. Je parlais de syntaxe correcte du point de vue du compilateur dans les deux expressions - il est même dit que ces expressions signifient des choses différentes.

Je pense que j'ai peut-être des problèmes avec la langue russe : après tout, je vis en Ukraine et les dernières tendances en matière de langue russe pourraient bien m'échapper. C'est pourquoi j'essaie de clarifier : quel genre de mes mots ont été utilisés pour tirer une conclusion sur l'équivalence des expressions. Peut-être ai-je induit en erreur - il est alors nécessaire de clarifier mes déclarations afin qu'il n'y ait aucune possibilité d'interprétations ambiguës.
 
Zhunko:
Par défaut, l'expression est lue de gauche à droite.
J'ai obtenu cette expression par accident après avoir modifié le code, mais maintenant je l'ai juste laissée if(n < N), ce qui est plus facile et ne me dérange pas trop. Et quand j'aurai besoin de quelque chose comme ça, je saurai que je peux le faire de cette façon aussi ! Merci, vous avez expliqué ! Et je n'arrive toujours pas à arriver au C, bien que j'aie un énorme volume de plus de mille pages de C++ depuis longtemps ! Je ne peux toujours pas, TOUT mange tout le temps !
 
VladislavVG:
Et où ai-je induit en erreur ?
OK, nulle part. Mais il est préférable de parler de ces choses de manière explicite. Sinon, certaines personnes ne comprendront pas, comme moi.
 
Alors, qu'en est-il des nouveaux, messieurs ?
Raison: