<div dir="ltr"><blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote"><b>"Es que tienes mal el prototipo. Aunque sean números, lo que te interesa</b><br>
<b>
es comparar los caracteres.  int comparaReg(char cadena1[], char cadena2[])"</b><br></blockquote><br>eso no lo sabía. <br><br><div><blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote">
<div><div><b>cad1 es un puntero a char*. En cambio cad1[2] es el caracter de la 3ª</b><br><b>
posición. &cad1[2] es la dirección de memoria en la que empieza el 3er</b><br><b>
caracter. Que es lo que querías.</b><br><b>
Otra opción equivalente sería utilizar aritmética de punteros: cad1 + 2</b><br><br></div></div></blockquote>

<br>Eso es justo lo que queria saber. Duda resuelta.<div><br><br></div><blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote"><div><b>
Si lo que colocases fuera * en vez de & (*cad[2]), estarías accediendo a</b><br><b>
la dirección de memoria que tiene el valor del 3er caracter.</b><br><b>
Esto es incorrecto porque en un caracter no podemos almacenar un</b><br><b>
puntero, y además la dirección de memoria que nos daría no estaría</b><br><b>
reservada para nuestro programa, por lo que nos produciría un fallo de</b><br><b>
segmentación.</b><br></div></blockquote><div> 
<br>No, habia colocado <b>(*cad[2]) </b>cuando se lo pasaba a strncmp<b>, </b><br><br>Como <b> </b>nueva pregunta:  Asi <b>(*cad[2]) </b>que es lo que estoy diciendo? y con <b>*(&cad[2])</b> ?<br><br>no lo probe pero me gustaria saber para no mandarmela de nuevo la proxima.<br>
<br><br></div><div><br>Mil gracias Programante, me fuiste de mucha ayuda...<br><br><br>salu2<br><br>Edgardo <br></div>
<br>
<br></div></div>