Ciao a tutti ragazzi, intanto complimenti per il forum!!!
Ho un dubbio colossale, spero che qualcuno riesca ad aiutarmi.
Sto studiando C; sono arrivato a un punto in cui mi trovo ad analizzare un programma che trovo nel libro ma non riesco a capire una cosa; ecco il sorgente intanto:
codice:
#include <stdio.h>
#define MAXLINE 1000

   int getline(char s[], int uu)

{
     int c,i;
     for (i=0; i<uu-1 && (c=getchar()) != EOF && c!= '\n'; ++i)
         s[i] = c;
         if (c == '\n')
         {
         s[i] = c;
         ++i;
         }
     s[i]='\0';
     return i;
}

    void copy (char to[], char from [])

{
     int i;
     i=0;
     while ((to [i] = from[i]) != '\0')
           ++i;
}

main ()
{
     int len;
     int max;
     char line [MAXLINE];
     char longest [MAXLINE];

     max=0;
     while ((len = getline(line, MAXLINE)) >0)
           if (len > max)
                  {
                  max=len;
                  copy(longest, line);
                  }
           if (max >0)
              printf ("%s", longest);
              return 0;
A quanto ho capito io il return i della funzione getline restituisce un valore che viene attribuito a line; queso valore successivamente tramite la funzione copy verrà attributo a longest, successivamente a venir stampato sarà longest, che sarà il vettore intero. Di conseguenza il return i ha restituito l'intero vettore.
A quanto poi ho capio io c'è una grandissima differenza tra line (che come appunto detto è il vettore restitutio da return i) e len cui si attribusice il valore della funzione getline. La mia domanda è quest valore assegnato a getline ((len=getline(line,MAXLINE)) è diverso dal valore restituito da return i?
Io credo poprio di si, e penso questo perchè succesivamente viene fatto un paragone con max che è 0. Ma come puo' venir fatto un paragone se len fosse vettore?? Cio' mi porta quindi a dire che il valore restiutito da line (ovvero quello di return i) è diversissimo dal valore risultante dalla funzione getline.
GRAzie in anticipo a hiunque mi voglia aiutare.