[errore Xcode] programma conta parole

di Anonimizzato12706 il
16 risposte
Buongiorno a tutti
mi sono appena iscritto al forum e sono un ragazzo che vuole imparare a programmare
sto studiando sul manuale K&R.
ho il mac ed uso xcode per provare i primi programmi
ho un problema con il programma conta parole:

#include <stdio.h>
#define IN 1
#define OUT 0

int main()
{
int c, nl, nw, nc, state;

state=OUT;
nl = nw = nc = 0;
while ((c=getchar()) !=EOF) {
++nc;
if (c == '\n')
++nl;
if (c == ' ' ¦¦ c == '\n' ¦¦ c == '\t')
state = OUT;
else if (state == OUT) {
state = IN;
++nw;
}

}
printf("%d %d %d\n", nl, nw, nc);
}

sulla riga: if (c == ' ' ¦¦ c == '\n' ¦¦ c == '\t'), sul primo or ¦, mi dice:"expected ')'".. non riesco a risolvere il problema. Il programma è uguale a quello del manuale.
Mi potete aiutare grazie

16 Risposte

  • Non so se è un problema di copia-incolla ma deve essere

    ||

    e non

    ¦¦
  • Ah, sul libro c'è questo: ¦.. ok proverò con |
    grazie mille

    modifica:
    Non riesco comunque, non mi dà errori ma anche se metto"ciao come va" mi mette ncaratteri=99, n\n=1 e poi tutto = a 0..
    perché?
  • Ma questo è un altro problema ... il codice lo compila adesso? Il problema della OR è superato?
  • Si il codice lo compila senza errori ma se metto un testo no mi dà i risultati giusti


    ps. come faccio ad inserirvi l'immagine che così forse riuscite a vedere:)?
    grazie mille comunque delle risposte
  • O la invii come allegato o la carichi su siti come questo http://postimage.org


  • grazie:)
  • Mi sembra (dall'immagine non si capisce molto) che il programma non sia terminato in quel momento e ancora attende l'input della frase.

    Dovrai usare Ctrl-C oppure Ctrl-D per indicare che è terminata la frase e si può procedere ai conteggi e presentare i risultati.
  • Eh ho visto non so come migliorare la qualità
    comunque in quella situazione è dopo che ho premuta ctrl + d..
  • Ctrl-D e invio ... o simili ...
  • Basta solo fare ctrl + d.. solo che il programma non mi dà i valori che dovrebbe darmi
  • Inserisci un breakpoint nella riga

    printf("%d %d %d\n", nl, nw, nc);

    e controlla in debugging se l'esecuzione si ferma in quella linea

    (con Visual Studio su PC funziona regolarmente)
  • Ma cos'è un brealpoint?
  • Scusa ... volevo scrivere (ma mi sembra comunque evidente) breakpoint ...
  • E cos'è un breakpoint? scusa l'ignoranza ma sono alle prime armi
Devi accedere o registrarti per scrivere nel forum
16 risposte