Cita de: YreX-DwX en 11 Octubre 2019, 01:33 AMVoy entendiendo, el problema es que sigo sin poder guardar lo numeros en alguna variable, ya que hago un for que vaya desde 1 hasta el argc y lo que quiero hacer ahora es preguntar si el argv es un digito(que eso sé como se hace) y luego, a partir de ese numero guardarlo en una variable entera, por ejemplo x. Al hacer esta iteracion con la condicion, si yo tengo mas de dos numeros ya la variable x tomaria solamente el ultimo y no se como hacer para poder guardar todo en distintas variables
No está mal aunque hay que pulir un par de cosas:
Antes de nada, los códigos ponlos entre etiquetas de Código GeSHi porque sino los índices no se ven y la i entre corchetes se convierte en cursiva y la u entre corchetes, en subrayado...
- Para pedir una cadena al usuario no se usa <scanf()>, se usa <fgets()>
Código (c) [Seleccionar]
#define SIZE 100 // definimos un maximo de longitud para la cadena. Esto se pone justo despues de las librerias
char cadena[SIZE];
printf("Introduce una cadena: ");
fgets(cadena, SIZE, stdin);
El siguiente problema es que al introducir una cadena y pulsar ENTER, el ENTER también se guardará en la cadena. Esto lo arreglamos rápido así:Código (c) [Seleccionar]
cadena[strlen(cadena)-1] = '\0';- La segunda condición de tu bucle <while()> es innecesaria. Preguntas si <c> es un dígito Y si no es un espacio... Siempre que se cumpla que es un dígito, se cumplirá también que no es un espacio. Y si no es un dígito, la segunda condición dará igual.
Si lo que quieres conseguir es el resultado de calcular la expresión en notación polaca inversa, te falta esa parte.