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

    [C] dichiarazione stringa

    ciao,
    in una file di testo ho una matrice di interi e con una funzione devo contare quante righe e quante colonne ha questa matrice. La funzione che ho scritto è questa :
    codice:
    void dim(int* R,int* C,FILE* f)
    {
        char*s ;
        int r1 = 0;
        int c1 = 0;
        while(fscanf(f,"%s",s) != EOF)
        {
            c1 = strlen(s);
            r1++;
        }
        *R = r1;
        *C = c1;
    
    }
    il code blocks mi da questo messaggio :
    "C:\Users\Principale\Desktop\informatica\mappa\mai n.c|47|warning: 's' may be used uninitialized in this function [-Wuninitialized]|";
    Perché? e come fare a risolverlo?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    s è semplicemente un puntatore ad una stringa. Ma l'area di memoria non è mai stata allocata e quindi il puntatore non ha valore.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    e come dovrei fare?
    non posso fare char s[numero] perché non so a priori le colonne..

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non ho capito la questione delle colonne ... fai un esempio di contenuto del file ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    12334532100
    67834211122
    08765432111
    22222222222
    per esempio questa, ma io non conosco ne quante righe ci sono o quante colonne.

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Le righe non hanno importanza, le colonne non saranno mai più di una certa quantità (che so, 1000 caratteri ad esempio).

    Quindi prepari una stringa da 1000 caratteri

    char s[1000];

    e la usi
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    ok grazie mille

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Di nulla, anche se ancora non ho capito cosa intendi restituire con il parametro C
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.