Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2015
    Messaggi
    3

    incomprensione istruzione while

    Ciao ragazzi, ho il seguente problema:
    Scrivere un programma che legge un testo inserito da tastiera, e lo memorizza in un array line di caratteri di lunghezza massima MAX_STRING 300.

    #define MAX_STRING 300
    int i=0;
    char c, line[MAX_STRING];

    while ((c = getchar())!='\n' && i < MAX_STRING) {
    line[i++] = c;
    }

    questo dovrebbe essere il codice giusto per il pezzo di programma riportato sopra, io però nn riesco a capire una cosa, perché il getchar è posto diverso dall'invio ('\n')? nel getchar non dovrebbe essere sottinteso che il premere invio implica la terminazione dell'inserimento della stringa?
    E se io scrivessi while ((c = getchar())!='.' && i < MAX_STRING) {
    line[i++] = c;
    }
    nel momento in cui inserissi il punto, la stringa non dovrebbe terminare?
    Spero di essermi spiegato, GRAZIE in anticipo.

  2. #2
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    getchar legge un carattere stdin quindi non interessa quale tasto l'utente schiacci. Usualmente si usa il tasto Invio xche ha lo stesso significato del ritorno a capo delle vecchie macchine da scrivere
    Per gli Spartani e Sparta usa spartan Il mio github

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.