Tengo un problema con este codigo: int main(int argc, char *argv[]) { int numero,verificador; verificador=0; numero=0; printf ("INGRESE UN NUMERO\n\n"); scanf("%d",&numero); verificador=numero%2; if (verificador=1) { printf ("EL Numero Ingresado es Impar\n\n"); } else { printf ("EL Numero Ingresado es Par\n\n"); } system("PAUSE"); return EXIT_SUCCESS;
cuando lo compilo esta ok. sin embargo al correrlo ingresas el 4 o cualquier par y lo marca como impar!!! y no se por que!! en cambio si pregunto : if (verificador>=1) funciona Bien.. cual es la diferencia entre : if (verificador=1) si supuestamente el Mod debería ser siempre 1 o 0???? Atte Parmijo.
En primer lugar en el main cambia la linea"int main(int argc, char *argv[])" por int main (void), ya que la funcion main no retorna valos alguno y en el return pon 0 en el parentesis, para no retornar valor. El problema es que dentro del "if" estás asignando el valor 1 a la variable verificador, debes porner "==" y no "=", no estás comparando solo asignando valor a una variale, por eso te funciona con >=1, pero esa comparación es inezacta, debe ser con"==".
acabo de corregir el código, en este caso es el siguiente:
int main(void) {
int a=0, ver=0; printf("ingrese un numero: "); scanf("%d",&a); ver=a%2; if (ver==0) printf("\nel numero %d es par\n",a); else printf("el numero %d es impar\n",a);
ok me queda mas claro, gracias por la aclaracion...la verdad pense que se trataba de la misma forma que VB. por eso que no encontraba el error. Muchas Gracias
Tengo un problema con este codigo:
ResponderEliminarint main(int argc, char *argv[])
{
int numero,verificador;
verificador=0;
numero=0;
printf ("INGRESE UN NUMERO\n\n");
scanf("%d",&numero);
verificador=numero%2;
if (verificador=1)
{
printf ("EL Numero Ingresado es Impar\n\n");
}
else
{
printf ("EL Numero Ingresado es Par\n\n");
}
system("PAUSE");
return EXIT_SUCCESS;
cuando lo compilo esta ok. sin embargo al correrlo ingresas el 4 o cualquier par y lo marca como impar!!! y no se por que!!
en cambio si pregunto :
if (verificador>=1) funciona Bien.. cual es la diferencia entre : if (verificador=1)
si supuestamente el Mod debería ser siempre 1 o 0????
Atte Parmijo.
En primer lugar en el main cambia la linea"int main(int argc, char *argv[])" por int main (void), ya que la funcion main no retorna valos alguno y en el return pon 0 en el parentesis, para no retornar valor. El problema es que dentro del "if" estás asignando el valor 1 a la variable verificador, debes porner "==" y no "=", no estás comparando solo asignando valor a una variale, por eso te funciona con >=1, pero esa comparación es inezacta, debe ser con"==".
ResponderEliminaren el otro post tengo un ejemplo de ello
sorry, no está, pero lo hago altiro
ResponderEliminaracabo de corregir el código, en este caso es el siguiente:
ResponderEliminarint main(void)
{
int a=0, ver=0;
printf("ingrese un numero: ");
scanf("%d",&a);
ver=a%2;
if (ver==0)
printf("\nel numero %d es par\n",a);
else
printf("el numero %d es impar\n",a);
system("PAUSE");
return 0;
ok me queda mas claro, gracias por la aclaracion...la verdad pense que se trataba de la misma forma que VB. por eso que no encontraba el error.
ResponderEliminarMuchas Gracias