Почему это не работает с char в C? [closed]

Я хочу сделать программу, которая записывает символьную строку (например, 2 a * sin), сохраняет каждый символ в стеке, если это число, буква. Я пытался:

#include<stdio.h>
#include <stdlib.h>
#include<math.h>
#include<ctype.h>
int main () {

    char  cadena[20];
    printf ("Write line of characters:n");

    while(scanf ("%c", &cadena ) != EOF)
    {
       if (isalpha(cadena)){
            pop (cadena);
       }
    }

    for (int i=0; i<5; i++){
        int data = pop();
        printf("%dn",data);
    }
 return(0);
}``` 

The function pop is my stack. It isn't working because stack is always empty. I will like to do for example:

2 * 3 cos
if (cadena is number){pop(2)}
if(cadena is *){pop (*)} inside a while or for.
What am I doing wrong? Thanks u!

0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *