<html><body bgcolor="#FFFFFF"><div><div>Dati Young clear escribió:<br></div></div><div><br></div><div></div><blockquote type="cite"><div>
<br>hola hola, lo que esta operación hace, es lo siguiente:<br>
 <br>
--->(--b*a++)/b, y lo que me parece raro, es que al poner "a++", no le sume uno más a 1, o sea, 16.<br>
Acá tienes que (menos menos b (+b) por a más más (que supuestamente debería ser 15+1))/b, lo realicé y me dá: 45/3=15...<br>
 <br>
Alguien me puede explicar el porqué del "a++" (por qué no le aumenta un valor?)<br>
(para que no se preste para malos entendidos: ---> una flecha)</div></blockquote><div><br class="webkit-block-placeholder"></div><div>Los operadores de post-incremento y post-decremento se realizan después de haber resuelto toda la operación princpal.</div><div><br class="webkit-block-placeholder"></div><div>Los de pre-incremento y pre-decremento se realizan antes de resolver la operación principal.</div><div><br class="webkit-block-placeholder"></div><div>Con esto tenemos que en la operación:</div><div><br class="webkit-block-placeholder"></div><div>int a = 15, b = 3;</div><div>b = --b * a++ / b;</div><div><br></div><div>se realizan primero los "pre", en este caso el pre-decremento --b, con lo que ahora 'b' tiene el valor de 2. Luego este valor se multiplica por 'a' que vale 15:   2*15 = 30.</div><div>Después dividimos el resultado entre 'b' que vale 2:   30 /2 = 15 y este valor se almacena en 'b'.</div><div><br class="webkit-block-placeholder"></div><div>Por último realizamos los "post", en este caso post-incremento de 'a', por lo que el valor final de 'a' será 16.</div><div><br class="webkit-block-placeholder"></div><div>En sí las variablea tendrían los siguientes valores:</div><div><br class="webkit-block-placeholder"></div><div>A  ->  16</div><div>b  ->  15</div><div><br class="webkit-block-placeholder"></div><div>Saludos</div><div><br class="webkit-block-placeholder"></div><br><blockquote type="cite"><div><blockquote>Por qué si<br><br>  <span style="FONT-WEIGHT: bold"> int a = 15, b = 3;</span><br><br>   La expresión:<br><br>   <span style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; FONT-FAMILY: Verdana">b = --b * a++ / b;<br><br></span><span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">Genera para <span style="FONT-WEIGHT: bold">b </span>el valor</span><span style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; FONT-FAMILY: Verdana"> 15 <br><br></span><span style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">Supongo que es un asunto de precedencia de operadores.<br><br>Saludos<br><br>Ismael</span></blockquote></div></blockquote></body></html>