C/Visual C - problemas con !

 
Vista:

problemas con !

Publicado por Herbert (1 intervención) el 11/08/2002 19:24:44
Buenas.
Tengo una pequeña duda con ! , veamos, voy a poner unos pequeños ejemplos:

if(numero[i]%2) --> aqui estoy diciendo, si el resto de la division de numero entre 2 es cero, haz tal cosa

if(!strcmp("pepe","pepe")) --> aqui digo, si las dos cadenas son iguales (cero) haz tal cosa.

¿ por que en en el 1º ejemplo hay que usar ! y en el segundo no ? , es un poco lio el uso ! jeje

Muchas gracias y un saludo a todos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:problemas con !

Publicado por chuidiang (677 intervenciones) el 12/08/2002 09:42:15
El if es falso si lo que hay en la condición da de resultado 0. Es cierto si da cualquier cosa que no sea cero.

El strcmp() es una función que alguien ha hecho y que ha decidido que devuelve cero si las dos cadenas son iguales. Por ello debe ponerse el ! delante, para hacer que el resultado no sea cero.

numero[i]%2 es una operación que da el resto de dividir entre dos. Si el resto es cero, NO se ejecutará la sentencia del if. Si no es cero, entonces sí. Yo creo que en la explicación que pones lo tienes al revés, entrará en el if si el resto no es cero.

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar