Errori, bug, domande - pagina 2866
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Tutto è possibile, solo una macro deve essere aggiunta
Risultato: 20
Tutto è possibile, solo una macro deve essere aggiunta
Risultato: 20.
Questo è molto buono. Non sono bravo a indovinare i puzzle.
Scusa, mi sono confuso mentre cercavo di spiegarmi)))
Un'altra volta:
Al momento della seconda definizione di VALUE, la macro VALUE non è definita, quindi VALUE è definito come
perché TMP era ed è ancora definito da VALUE.
Ma TMP, dopo la seconda definizione di VALORE, si espande a
(Qualcosa del genere))
Il preprocessore riempie semplicemente ciò che ha e non importa come e dove è definito. È per questo che bisogna fare attenzione. Esempio:
e ora aggiungiamo una cosa malvagia alla funzione, cioè un effetto collaterale
E questa è solo un'iscrizione, ma se il deposito dipendesse da questa funzione?
divertente) quando lo ottieni)
Ho capito bene, dopo aver annullato la sostituzione, la prima linea non è più 10 e il secondo TMP è VALUE, ma non 10. Cioè la sostituzione è lontana dall'assegnazione.
divertente) quando lo ottieni)
Ho capito bene, dopo aver annullato la sostituzione, la prima linea non è più 10 e il secondo TMP è un VALORE, ma non 10. Cioè una sostituzione è lontana da un incarico.
Sì, una sostituzione è esattamente una sostituzione, uno a uno. Ma quando la macro VALUE è definita nel vostro codice (da non confondere con la direttiva del preprocessore), il preprocessore espande ulteriormente TMP->VALUE->10 e, in caso contrario, TMP->VALUE. In questo caso, le direttive del preprocessore non sono coinvolte nel codice stesso, non ci sono più quando viene compilato. Esempio:
Sì. La sostituzione è esattamente la sostituzione, uno a uno. Semplicemente, quando la macro VALUE è definita nel vostro codice (da non confondere con le direttive del preprocessore), il preprocessore espanderà TMP->VALUE->10, e se no, TMP->VALUE. In questo caso, le direttive del preprocessore non sono coinvolte nel codice stesso, non ci sono più quando viene compilato. Esempio:
Sì, se commentate la seconda sostituzione VALUE 20, la dichiarazione della variabile VALUE non ci sarà più e il compilatore non la vedrà e la sgriderà)
Tutto è possibile, solo una macro deve essere aggiunta
Risultato: 20
Mi arrendo)))
Come si definisce?
?
Mi arrendo)))
Come certi
?
Così in fretta? Non tutti gli specialisti hanno ancora aderito... Aspetteremo una settimana.
Suggerimento: anche questo funziona (ma la soluzione è leggermente diversa)
Risultato: 20:15
perché TMP era, ed è ancora, definito da VALUE.
È qui che entra in gioco la confutazione "dall'alto verso il basso".
Altrimenti TMP non sarebbe stato "come definito, quindi rimane definito", ma sarebbe stato precedentemente sostituito da 10 (a cui viene sostituito VALUE).
Quindi il preprocessore non sta elaborando il codice linea per linea. Quello che resta da capire è come.
@A100, se non ti dispiace, in poche parole.
Non abbastanza interessante da cercare su Google e leggere, ma abbastanza da chiedere.
Cosa c'è di sbagliato nella mia logica?
Ho immaginato che le stringhe siano analizzate in modo sequenziale. Quindi non c'è nessun valore indefinito a destra:
Suggerimento: anche questo funziona (ma la soluzione è leggermente diversa)
Quindi identico in azione a MACRO e MACRO2.
Cosa c'è di sbagliato nella mia logica?