Aiuti vari c

di il
1 risposte

Aiuti vari c

Salve io ho un problema anzi due.... sto cercando di imparare a programmare in C ho però due dubbi
1-si può fare una cosa del genere?
if (colori==\"N\")
con colori char? se non si può fare come posso richiedere che il carattere contenuto in colori sia uguale a N (maiuscolo o minuscolo)? scusate la poca chiarezza....
2-sotto l'if di prima ho messo questa istruzione:
costo=(dim / 4)* argv[1];
con argv[1] preso da riga di comando, il problema è che il compilatore mi dice * invalid operands to binar! ma nessuno dei due è un binario...

1 Risposte

  • Re: Aiuti vari c

    Ciao,

    1) Non si può fare... almeno non con \". Per indicare un carattere singolo lo dovrai racchiudere tra apici ('N') e non tra virgolette (\"N\").
    Un espressione tra virgolette è un puntatore a stringa (contenente anche il \\0 finale, tra l'altro).

    2) argv[1] così come qualsiasi argv[n] è un char*. L'operatore * è binario (nel senso che agisce su due operandi), e vuole che entrambi gli operandi siano numerici. Dovrai convertire argv[1] in un numero prima di poterlo usare in una moltiplicazione. Può tornarti comoda la atoi(), che converte una stringa contenente un intero nell'int corrispondente.
    NB: Se la stringa contiene altri caratteri oltre alle cifre, contiene un numero maggiore del massimo intero o non comincia per una cifra, il risultato può non essere quello che ti aspetti.

    Ciaociao
Devi accedere o registrarti per scrivere nel forum
1 risposte