Erreurs, bugs, questions - page 2866
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Tout est possible, seule une macro doit être ajoutée
Résultat : 20.
C'est très bien. Je ne suis pas doué pour deviner les énigmes.
Désolé, je me suis embrouillé en essayant de m'expliquer))))
Encore une fois :
Au moment de la deuxième définition de VALEUR, la macro VALEUR n'est pas définie, et VALEUR est donc définie comme suit
parce que le TMP était et est toujours défini par la VALEUR.
Mais le TMP, après la deuxième définition de la VALEUR, est étendu à
(Quelque chose comme ça))
Le préprocesseur ne fait que remplir ce qu'il a et peu importe comment et où il est défini. C'est pourquoi vous devez être prudent avec elle. Exemple :
et maintenant, ajoutons une chose maléfique à la fonction, à savoir un effet secondaire
Et c'est juste une inscription, mais que faire si le dépôt dépend de cette fonction ?
drôle) quand tu l'auras)
J'ai bien compris, après avoir annulé la substitution, la première ligne n'est plus 10 et le deuxième TMP est VALEUR, mais pas 10. C'est-à-dire que la substitution est loin d'être une affectation.
drôle) quand vous l'aurez)
J'ai bien compris, après avoir annulé la substitution, la première ligne n'est plus 10 et le second TMP est une VALEUR, mais pas 10. C'est-à-dire qu'une substitution est loin d'être une affectation.
Oui. Une substitution est exactement une substitution, une à une. Mais lorsque la macro VALUE est définie dans votre code (à ne pas confondre avec la directive du préprocesseur), le préprocesseur développe davantage TMP->VALUE->10 et sinon, TMP->VALUE. Dans ce cas, les directives du préprocesseur ne sont pas impliquées dans le code lui-même, elles ne sont plus là une fois compilées. Exemple :
Oui. La substitution est exactement la substitution, une à une. Simplement, lorsque la macro VALUE est définie lors de la substitution dans votre code (à ne pas confondre avec les directives du préprocesseur), le préprocesseur développera TMP->VALUE->10, et sinon, TMP->VALUE. Dans ce cas, les directives du préprocesseur ne sont pas impliquées dans le code lui-même, elles ne sont plus là une fois compilées. Exemple :
Oui, si vous commentez la deuxième substitution VALUE 20, la déclaration de la variable VALUE disparaîtra et le compilateur ne la verra pas et grondera).
Tout est possible, seule une macro doit être ajoutée
Résultat : 20
J'abandonne)))
Comment est-il défini ?
?
J'aband onne)))
Comment certains
?
Si vite ? Tous les spécialistes ne se sont pas encore joints à nous... Nous allons attendre une semaine.
Conseil : ceci fonctionne également (mais la solution est légèrement différente)
Résultat : 20:15
parce que le TMP était, et est toujours, défini par la VALEUR.
C'est là qu'intervient la réfutation "du haut vers le bas".
Sinon, le TMP n'aurait pas été "tel que défini, il reste donc défini", mais aurait été préalablement remplacé par 10 (auquel VALUE est remplacé).
Le préprocesseur ne traite donc pas le code ligne par ligne. Ce qui reste à découvrir, c'est comment.
@A100, si vous le voulez bien, en quelques mots.
Pas assez intéressant pour le googler et le lire, mais assez pour le demander.
Quel est le problème avec ma logique ?
J'ai imaginé que les cordes sont analysées de manière séquentielle. Il n'y a donc pas de valeur indéfinie à droite :
Conseil : ceci fonctionne également (mais la solution est légèrement différente)
Donc identique en action à MACRO et MACRO2.
Quel est le problème avec ma logique ?
Je l'ai compris, je l'ai interprété différemment ici.
Ce n'est pas une constante, mais une macro, après tout.
Merci.