|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2002
Città: Perugia
Messaggi: 976
|
[C] - conteggio caratteri
Ciao,
Sto imparando le istruzioni per il conteggio caratteri in ingresso in c ma ho un problema in fase di visualizzazione del numero di caratteri immessi: Dato il programma: Codice:
#include <stdio.h>
/* conta i caratteri in ingresso, prima versione */
main()
{
long nc;
nc = 0;
while (getchar() != EOF)
++nc;
printf("%ld\n", nc);
}
qualcuno rileva qualche errore ? ciao, luca.
__________________
Debian GNU/Linux
|
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Quote:
Non vedo da dove prendi i caratteri
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Aug 2004
Messaggi: 156
|
se ho capito bene vuoi contare i caratteri immessi da tastiera
se è così al posto di EOF metti '\n' |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Ah, ho capito
No, a livello didattico non ci sono errori, solo che al programma devi dare in pasto un file dove siano presenti dei caratteri. Supponendo che il tuo eseguibile tu lo abbia chiamato "conta", devi lanciarlo così: ./conta < nome_file_con_caratteri (su una macchina *nix) conta.exe < nome_file_con_caratteri (su una macchina windows) Con questo programma infatti, non leggi i caratteri che immetti da tastiera.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#5 | |||
|
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16211
|
Quote:
Quote:
In alternativa, potresti redirigere lo standard input su un file di testo presente su disco, magari creato col Blocco note (o Kate, o vi, o quel che è). Inoltre, se hai lanciato il programma da un IDE anziché dalla riga di comando, devi inserire qualche riga di codice che ritardi un po' la sua chiusura: in caso contrario, la stampa avverrà, ma tu non avrai il tempo di leggerla! Quote:
- la dichiarazione di main è ambigua, in C le parentesi tonde vuote indicano che la lista degli argomenti è indefinita, non che è vuota; - inoltre il tipo di ritorno dovrebbe essere int, ma in C la regola dell'int implicito è desueta; - infine, main dovrebbe restituire un valore specifico, cosa che qui non viene specificata: il valore di default al termine di un'esecuzione corretta è 0. L'algoritmo di conteggio dei caratteri, invece, è corretto.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
|||
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: May 2002
Città: Perugia
Messaggi: 976
|
Quote:
in ogni caso sono riuscito a ottenere sta agognata stampa, sia da file che da immissione diretta di caratteri con CTRL + D ... grazie mille Raoul e Zio .. Ah .. dimenticavo, riguardo la funzione main senza argomenti, debbo quindi eliminare le parentesi ?
__________________
Debian GNU/Linux
Ultima modifica di norman900 : 21-06-2005 alle 16:42. |
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8895
|
no
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Quote:
int main()
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:01.










Debian GNU/Linux









