Buenas, estoy aprendiendo C (tengo un nivel muy bajo), y al hacer un programa con este código:
...no obtengo el resultado esperado. En vex de esto obtengo el mensaje de que no he introducido ningún operador:
Le he dado muchas vueltas al código y no encuentro el error. Muchas gracias por adelantado.
Código (c) [Seleccionar]
#include <stdio.h>
main(int argc, char *argv[])
{
char n1, n2, operador;
int resultado;
n1=atoi(argv[1]);
operador=atoi(argv[2]);
n2=atoi(argv[3]);
if (operador=='+')
{
resultado=n1+n2;
printf("El resultado de sumar %d y %d es: %d\n", n1, n2, resultado);
salir();
}
if (operador=='-')
{
resultado=n1-n2;
printf("El resultado de restar %d y %d es: %d\n", n1, n2, resultado);
salir();
}
if (operador=='*')
{
resultado=n1*n2;
printf("El resultado de multiplicar %d y %d es: %d\n", n1, n2, resultado);
salir();
}
if (operador=='/')
{
resultado=n1/n2;
printf("El resultado de dividir %d y %d es: %d\n", n1, n2, resultado);
salir();
}
if (operador!='+' && operador!='-' && operador!='*' && operador!='/')
{
printf("Operador no reconocido. Utilize uno de los siguientes operadores:\n"
"-Suma: \"+\"\n"
"-Resta: \"-\"\n"
"-Multiplicación: \"*\"\n"
"-División: \"/\"\n"
"Utilize los operadores con el siguiente formato: número operador número.\n");
salir();
}
}
int salir()
{
return 0;
}
...no obtengo el resultado esperado. En vex de esto obtengo el mensaje de que no he introducido ningún operador:
Código [Seleccionar]
$ gcc -o ys pasa.c
$ ./ys 5 + 6
Operador no reconocido. Utilize uno de los siguientes operadores:
-Suma: "+"
-Resta: "-"
-Multiplicación: "*"
-División: "/"
Utilize los operadores con el siguiente formato: número operador número.
$
Le he dado muchas vueltas al código y no encuentro el error. Muchas gracias por adelantado.