Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    143

    [C] Contare occorrenze di un carattere specifico in una stringa

    Devo scrivere un programma che, passati come parametri una stringa ed un carattere inseriti da tastiera, mi restituisca il numero in cui il carattere è presente nella stringa.
    Il metodo l'ho scritto e penso sia giusto solo che non riesco a provarlo perchè non riesco a salvare un singolo carattere.

    Ho scritto 2 versioni:
    codice:
    char str[N];
    char a;
    
    printf("\nInserisci una stringa: ");
    scanf("%s", str);
    
    printf("\nInserisci un carattere: ");
    scanf("%c", a);
    codice:
    char str[N];
    char a;
    
    printf("\nInserisci una stringa: ");
    scanf("%s", str);
    
    printf("\nInserisci un carattere: ");
    a = getchar();
    Entrambe non vanno e non capisco il perchè..
    La seconda versione mi salva come carattere il \n..
    Come posso modificare?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    scanf("%c", &a);
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    143
    Originariamente inviato da oregon
    scanf("%c", &a);
    Ho provato anche così.. anzi ho fatto proprio così.. ho sbagliato a copiare il codice sopra..

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Devi anche pulire il buffer di input dopo la scanf. Se fai una ricerca nel forum se n'è parlato centinaia di volte.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    143
    Originariamente inviato da oregon
    Devi anche pulire il buffer di input dopo la scanf. Se fai una ricerca nel forum se n'è parlato centinaia di volte.
    Ho provato a cercare ma non ho trovato.. riprovo..

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    143
    codice:
    char str[N];
    char a;
    
    printf("\nInserisci una stringa: ");
    scanf("%s", str);
    fflush(stdin);
    printf("\nInserisci un carattere: ");
    scanf("%c", &a);
    Anche così non va..

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Lavori con Linux o Windows?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    143
    Originariamente inviato da oregon
    Lavori con Linux o Windows?
    Linux

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Allora avrai letto che non puoi usare la

    fflush

    Devi usare un ciclo while come riportato in tanti thread su questo stesso forum
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    143
    no non l'ho letto perchè non l'ho trovato..

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.