Visualizzazione dei risultati da 1 a 5 su 5

Discussione: [C] help, Funzioni I/O

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    5

    [C] help

    Ola...

    ho un piccolo problemuzzo che non riesco a risolvere... premetto che col C sono alle prime armi....


    diciamo che devo fare un prg con tre funzioni... input, elaborazione, output.

    il problema è che si tratta di stringhe...

    ora la prima funzione mi riesce fo semplicemente:

    void input (char stringa[])

    e scopiazzo in main cosi: input (stringa_main);



    e fin qui tutto a posto.... ora devo praticamente passare quella variabile alla seconda funzione e dividerla in tot sotto stringhe e restituirle in main per poi visualizzarle nella funzione output...

    come faccio??? qualcuno mi sa dire come usare i puntatori con ste cavolo di stringhe?



    ciao e tnx in anticipo

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    4
    Potresti spiegarti meglio?!?!?!

  3. #3
    se devi passare una stringa da una funziona all'altra non devi fare niente di particolare
    le stringhe in C si passano sempre per indirizzo cio vuol dire che se modifichi una stringa all'interno di una funzione, il main la vedrà questa modifica, puoi provare a modificarla nella funzione e farla stampare nel main e vedrai che ti stamperà la stringa modificata.
    per quanto riguarda le sottostringhe puoi rispiegarmi con qualche esempio per capire meglio?


  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    5
    faccio un esempio banale... voglio acquisire una stirnga con una funzione e fin li mi funzia... poi in un altra funzione voglio assegnare le prime tre "lettere" della stringa acquisita ad un altra stringa e restituire il valore a main per poi stamapare a video...

    il code è questo.. dove sta l errore?

    #include <stdio.h>
    #include <string.h>

    void a ( char stringa[] );
    void b ( char espres_2[], char campo_2[] );


    main()
    {
    char espres[80];
    char campo[20];
    a ( espres );
    b ( espres, campo );

    printf("\n espress = %s ", espres);
    printf("\n campo1 = %s ", campo);

    system("PAUSE");
    return (0);
    }

    void a (char stringa[])
    {
    printf("campo = ");
    scanf("%s", stringa);

    }

    void b ( char espres_2[], char campo_2[] )
    {

    campo_2[0]==espres_2[0];
    campo_2[1]==espres_2[1];
    campo_2[2]==espres_2[2];

    }

  5. #5
    prova così :
    se ho capito bene quello che vuoi fai copia incolla, il programma lo testato e funziona


    #include <stdio.h>
    #include <string.h>

    void a ( char stringa[] );
    void b ( char *espres, char *sottostringa);


    main()
    {
    char espres[80];
    char sotto_stringa[4];

    a (espres);
    b (espres,sotto_stringa );

    printf("%s \n",sotto_stringa);

    return;
    }

    void a (char *stringa)
    {
    printf("inserire il campo \n ");
    scanf("%s", stringa);
    }

    void b ( char *espres, char *sottostringa )
    {
    short i=0;
    for(i=0;i<3;i++)
    sottostringa[i] = espres[i];
    sottostringa[i] = '\0';
    }

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.