Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [C] - Vettori - Programma conta cifre/spazi/caratteri

    Ciao, ho un problema con questo programma:

    codice:
    	#include  <stdio.h>
    
    	/* conta le cifre, le spaziature e gli altri caratteri */
    	main()
    	{
    		   int c, i, nwhite, nother;
    		   int ndigit[10];
    
    		   nwhite=nother=0;
    		   for (i=0; i<10; ++i)
    			  ndigit[i]=0;
    
    		   while ((c=getchar()) != EOF)
    			  if (c>='0'  &&  c<='9')
    				++ndigit[c-'0'];
    			  else if (c==' '  ||  c=='\n'  || c=='\t')
    				++nwhite;
    			  else
    				++nother;
    
    		   printf("cifre =");
    		   for (i=0; i<10; ++i)
    			  printf("%d", ndigit[i]);
    		   printf(", spaziature = %d, altri = %d\n, nwhite, nother);
    	}
    L’output di questo programma, eseguito con il suo stesso testo in input, dovrebbe essere

    Cifre = 9 3 0 0 0 0 0 0 0 1, spaziature = 123, altri = 345

    Ora, nel mio libro il codice viene indicato come funzionante ma quando provo a complilarlo mi da quest'errore:

    -linux:~/Documenti/C$ gcc -o variabili variabili.c
    variabili.c:24:13: warning: missing terminating " character
    variabili.c: In function ‘main’:
    variabili.c:24: error: missing terminating " character
    variabili.c:25: error: expected expression before ‘}’ token
    variabili.c:25: warning: format not a string literal and no format arguments
    variabili.c:25: error: expected ‘;’ before ‘}’ token

    Da quel che ho capito il problema è che gli manca un " per chiudere il printif alla fine... quel che non ho capito è invece dove metterlo, ho provato decine di combinazioni ma niente, non parte

    Qualche suggerimento? grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326

    Re: [C] - Vettori - Programma conta cifre/spazi/caratteri

    codice:
    		   printf(", spaziature = %d, altri = %d\n", nwhite, nother);
    every day above ground is a good one

  3. #3
    Avevo provato anche così...in questo modo lo compila, ma poi apro il programma e non succede niente, qualsiasi cosa io scriva .

    Grazie per l'aiuto

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Secondo il codice che hai postato, quando termini di scrivere, devi inviare un EOF.

    Con Linux Ctrl-D e con Windows Ctrl-Z (se non ricordo male).
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Tralascio gli insulti a me stesso

    e mi limito ai ringraziamenti a voi... io provavo solo CTRL+Z (che esce dal file e basta), non provando assolutamente il CTRL+D.

    Grazie ancora

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    Originariamente inviato da J-MK
    io provavo solo CTRL+Z (che esce dal file e basta), non provando assolutamente il CTRL+D.
    ctrl+z interrompe l'esecuzione del programma (almeno su *nix, non ricordo su Windows).

    Ma il libro che stai usando è sempre quello di Kernighan e Ritchie ?

    http://forum.html.it/forum/showthrea...readid=1309869

    Davvero non riesco a capire il motivo di errori così banali.
    every day above ground is a good one

  7. #7
    Si è sempre quello...la lezione dopo. Procedo veramente a rilento perchè odio questa situazione di dover sbattere la testa dovendo poi alla fine chiedere in giro...già è duro il primo impatto con la programmazione, poi trovo scritte anche delle cose sbagliate e la situazione non migliora.

    Probabilmente è la mia versione ad essere un po' troppo antiquata (il libro ha passato più mani ed è distrutto) e non è stata curata molto bene...al prossimo errore vedo se hanno fatto qualche ristampa di recente. Nella speranza che con il passare del tempo abbiano corretto tutto

    Grazie ancora

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.