Errores, fallos, preguntas - página 2866
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Todo es posible, sólo hay que añadir una macro
Resultado: 20
Todo es posible, sólo hay que añadir una macro
Resultado: 20.
Eso está muy bien. No soy bueno adivinando rompecabezas.
Lo siento, me he confundido al intentar explicarme)))
Una vez más:
En el momento de la segunda definición de VALOR, la macro VALOR no está definida, por lo que VALOR se define como
porque TMP fue y sigue siendo definido por el VALOR.
Pero TMP, tras la segunda definición de VALOR, se amplía a
(Algo así))
El preprocesador sólo rellena lo que tiene y no importa cómo y dónde está definido. Por eso hay que tener cuidado con él. Ejemplo:
y ahora vamos a añadir una cosa mala a la función, es decir, un efecto secundario
Y esto es sólo una inscripción, pero ¿y si el depósito depende de esta función?
divertido) cuando lo consigas)
lo he hecho bien, después de deshacer la sustitución, la primera línea ya no es 10 y la segunda TMP es VALOR, pero no 10. Es decir, la sustitución está lejos de la asignación.
divertido) cuando lo consigas)
lo he hecho bien, después de deshacer la sustitución, la primera línea ya no es 10 y la segunda TMP es un VALOR, pero no 10. Es decir, una sustitución está lejos de ser una asignación.
Sí. Una sustitución es exactamente una sustitución, uno a uno. Pero cuando la macro VALUE está definida en su código (no confundir con la directiva del preprocesador), el preprocesador expande aún más TMP->VALUE->10 y si no, TMP->VALUE. En este caso, las directivas del preprocesador no intervienen en el código en sí, ya no están ahí cuando se compila. Ejemplo:
Sí. La sustitución es exactamente la sustitución, uno a uno. Simplemente, cuando la macro VALUE se define durante la sustitución en su código (no confundir con las directivas del preprocesador), el preprocesador expandirá TMP->VALUE->10, y si no, TMP->VALUE. En este caso, las directivas del preprocesador no intervienen en el código en sí, ya no están ahí cuando se compila. Ejemplo:
Sí, si comentas la segunda sustitución VALOR 20, la declaración de la variable VALOR desaparecerá y el compilador no la verá y regañará)
Todo es posible, sólo hay que añadir una macro
Resultado: 20
Me rindo))
¿Cómo se define?
?
Merindo))
¿Cómo de cierto
?
¿Tan rápido? Todavía no se han unido todos los especialistas... Esperaremos una semana.
Sugerencia: esto también funciona (pero la solución es ligeramente diferente)
Resultado: 20:15
porque TMP estaba, y sigue estando, definido por el VALOR.
Aquí es donde entra la refutación "desde arriba".
De lo contrario, TMP no habría sido "tal y como se definió, por lo que sigue siendo definido", sino que habría sido sustituido previamente por 10 (al que se sustituye VALOR).
Así que el preprocesador no está procesando el código línea por línea. Lo que queda por saber es cómo.
@A100, si no te importa, en pocas palabras.
No es lo suficientemente interesante como para buscar en Google y leer, pero sí para preguntar.
¿Qué hay de malo en mi lógica?
Imaginé que las cadenas se analizan secuencialmente. Así que no hay ningún valor indefinido a la derecha:
Sugerencia: esto también funciona (pero la solución es ligeramente diferente)
Por lo tanto, es idéntica a la acción de MACRO y MACRO2.
¿Qué hay de malo en mi lógica?