[Linuxtrent] Re: domanda di C

  • From: michele dallachiesa <michele.dallachiesa@xxxxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Wed, 15 Dec 2004 20:37:43 +0100

On Wed, 15 Dec 2004 10:41:06 +0100, Roberto A. Foglietta
<roberto.foglietta@xxxxxx> wrote:
> Ciao,
> 
>   se lancio un programma con scritto:
> 
>   ./a.out "(a+b+c)"
> 
>   posso far eseguire il codice
> 
>   x=(a+b+c);
> 
>   dove ovviamente mi sono occupato di definire e inizializzare le
> variabili a,b e c senza usare un parser?

hai 2 strade: 
1. far fare a+b+c ad un'interprete e passare il risultato ad a.out
    del tipo:
    bash$  a=1; b=3; c=2; printf '%d\n' $[a+b+c]
    6
    tieni presente anche che forse altre shell che puoi utilizzare
hanno "feature" del genere piu potenti.. quella di bash fa schifino.

2. farlo all'interno del tuo programma
    una popen a bc e' una buona soluzione "sbrigativa", sempre che
    bc riesca effettivamente a sommare le tre variabili (non'hai detto
che sono numeri)

un piccolo parser di espressioni del tipo (((a+b)+c)*d)/e) none'
complesso nemmeno da implementare dal nulla... ma se il fine e'
ottenere il risultato nel minor tempo possibile, un parser e' una
perdita di tempo (se puoi farlo fare a bc) :)

.x
-- 
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con OGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx


Other related posts: