<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>¡Hola a todos!<br>Estoy respondiendo los ejercicios del capítulo 14, pero sigo teniendo problemas con este tema, hasta ahora no logro encontrar el resultado correcto al resolver los primeros 4 incisos.<br>Me gustaría que alguien me explicara cómo funcionan los operadores de pre/post in(de)cremento, y que me explicaran cuál es el resultado del ejercicio que añado, y por qué.<br><br>Ej:<br>"Dadas las siguientes variables:<br><code><b>int</b> a = 10, b = 100, c = 30, d = 1, e = 54;<br><b>int</b> m[10] = {10,20,30,40,50,60,70,80,90,100};<br><b>int</b> *p = &m[3], *q = &m[6];</code><br>Evaluar, sin usar un compilador, las siguientes expresiones.<br>Considerar que los resultados de cada una de las expresiones no influyen en las siguientes:<br>d) <code> b++ * c-- + *q * m[2] / d;"<br><br>Según yo, primero sustituyo *q y m[2] por la precedencia, segundo, realizo las multiplicaciones y divisiones, que no están implicadas con ++ ni con -- (con una mayor precedencia que estas), debido a que los separa una suma.<br>1. b++ * c-- + 70 * 30 / 1<br>2. </code><code><code>b++ * c-- + 2100<br>Ahora hago los incrementos, la multiplicación y la suma.<br>3. 101 * 29 + 2100<br>4. 2929 + 2100<br>5. 5029<br>Pero me dice que el resultado está mal. ?<br><br>P.D.<br>En el ejercicio f, creo hay un error:<br>"</code></code><code><code><code>++*p+++*q;</code>"<br>Explican que es lo mismo que ++*p++ + *q.<br>1.++*p++ es 40->50, 50+1, 51.<br>2.51+*q es 51+70=121, pero el resultado que marca correcto es 111.<br><br>Gracias, B.Amauri.<br><br></code> </code>                                          </div></body>
</html>