Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/11/2006, 21:39
N0vat0
 
Fecha de Ingreso: julio-2006
Mensajes: 99
Antigüedad: 18 años, 8 meses
Puntos: 0
Errores en codigos

No comprendo que puede haber mal en estos codigos( no son errores de sintaxis)... pongo el 1..
Código:
#include <stdio.h>
void main(void)
{
int i,j,k=5;
scanf("%d%d",&i,&j);
if (i<k<j)
printf("k está entre los números leídos");
}
Porque me pone siempre que esta entre los numeors leidos, ponga los numeros que ponga? Ahora mirandolo mejor, acabo de ver que si lo pongo asi si me va " if (i<k && k<j)".. porque?

Otra duda que tengo , es sobre la instruccion switch.
Código:
switch(i)
{
case (i>0):
printf("i es positivo\n");
break;
case (i<0):
printf("i es negativo\n");
break;
case (i==0):
printf("i es cero\n");
}
POrque me da, este si, error al compilar? NO se pueden poner expresiones dentor de case? como haria entonces este problema?
" Escriba una sentencia switch que a partir de una nota expresada en forma numérica imprima su correspondiente
literal, según la siguiente correspondencia: 0 a 4 SUSPENSO, 5 y 6 APROBADO, 7 y 8 NOTABLE, 9 y 10
SOBRESALIENTE. Para cualquier otro valor de la nota numérica se imprimirá el mensaje VALOR
INCORRECTO.
"

Una ultima pregunta, dado este codigo:
Código:
typedef enum {falso, cierto} logico;
acierto=falso;
while(!acierto)
....
Porque entra en el bucle?? Por que si pongo en vez de (!acierto), (acierto), no entra? y porque si luego pongo en vez de acierto=falso, pongo acierto=cierto, entra en el bucle? ... No creo que las palabras acierto y falso, las interprete el compilador como 0 o 1, o si??

Saludos.