Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    codice:
    #include <stdio.h>
    
    int charcount (char[], char);
    
    int main (void) { 
            int ris;
            char ch;
            char stringa[128];
            
            printf ("Inserisci il carattere: ");
            scanf ("%c", &ch);
            printf ("Inserisci la stringa: ");
            scanf ("%s", stringa);
    
            printf ("Il numero di %c preseni sono: %d \n", ch, charcount (stringa, ch));
            return (0);
    }
    
    int charcount (char s[], char c){
            int count = 0, i;
            for (i = 0; s[i] != '\0'; i++)
                    if (s[i] == c) count++;
            return (count);
    }
    Questo è il programma scritto correttamente.

    Il problema stà di certo che sbagli ad acquisire le variabili con la scanf, inoltre ti conviene sostituire la scanf con la funzione gets o fgets() per l'acquisizione di stringhe.

    Se vuoi acquisire un carattere devi dargli l'indirizzo del carattere, e come tipo, il %c.

    Inoltre il tipo carattere si dichiara: char nome_var; senza le quadre.

    Ciao!

  2. #2
    Per i vari operatori & e' meglio che ti guardi le varie guide C... e' complicato da spigare...
    Se cerchi nelle guide cerca nei capitoli dei Puntatori...
    disolito sono li...

    cmq tu tieni come regola per tutto uso & davanti al nome della variabile... per le stringhe no.
    PoWered by:
    Gentoo 1.5.3 - Kernel 2.6.7
    Debian Sid - Kernel 2.6.7 - Bash 3.0
    Slackware current - Kernel 2.6.7

  3. #3
    Utente di HTML.it L'avatar di JamesD
    Registrato dal
    Oct 2001
    Messaggi
    415
    Originariamente inviato da ciromosketta
    grazie, non ho capito però perchè dopo scanf hai indicato la variabile c con &c, mentre per la stringa non l'hai fatto?
    La scanf richiede un puntatore alla variabile in cui mettere i risultati.
    L'operatore & posto prima della variabile restituisce l'indirizzo di quella variabile.

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.