Funcionou Obrigado, cheguei a esse codigo
else{ printf("Interpretador de exprecoes\n\n"); char linha[10];char fixo[6]; while((fgets(linha, sizeof(linha), arq)) != '\0'){ int resultado; int i;int x = 0;int y = 0;int mod = 1;int *p = &y; // *p == yint *l = &x;char sinal; for (i = strlen(linha); i >= 0; --i) { if (linha[i] > 47 && linha[i] < 58) { // numero *l += (linha[i] - 48) * mod; mod *= 10; } else { if (linha[i] != ' ') { // sinal sinal = linha[i]; *p = *l-y; // guardando agora os valores em x; mod = 1; x = y - x; } }} switch(sinal){case '+': resultado = x + y; break;case '-': resultado = x - y; break;case '/': resultado = x / y; break;case '*': resultado = x * y; break;} printf( "X = %d\n", x);printf( "Y = %d\n", y);printf( "SINAL = %c\n", sinal);printf( "%d %c %d = %d\n", x, sinal, y, resultado);printf("Resultado: %d\n\n",resultado); }}
mais agora outra duvida que tive, caso um sinal aparece mais de uma vez, como exemplo 35 + 25 - 8 ou 35 + (56-62) - 20 , precisarei armazenar esse sinal em outra variável certo? e os numero também?
obrigado pela ajuda.