Si se llama a una función, y que funciones devuelve NULL en caso de error (piense en malloc()
o fopen()
por ejemplo), ¿cuál de los dos es mejor:Estilo pregunta condición agains condición == NULL
FILE *fp = fopen(argv[0], "r");
if (fp == NULL) {
// handle error
}
o
if (!fp) {
// handle error
}
¿es sólo una cuestión de estilo? Creo que el primero es más claro, más explícito, pero rara vez código en C :-).
Esto es lo que nunca tuve sobre todo el lugar-el-constante-on-the-LHS cosa: si puedo recordar a hacer eso, ¿No puedo recordar poner dos '' = símbolos? – jason
La mayoría de los compiladores advierten sobre tener una tarea en una condición, por lo que no es un gran problema, pero a veces es útil. – Kos
@Jason: la primera es una práctica que se sigue automáticamente, la segunda requiere que realmente tenga cuidado de presionar el = dos veces y que el editor capte la pulsación de tecla. Recuerde, a las 4 a. M. – thkala