Innanzitutto, buona Domenica a tutti! Sto avendo non pochi problemi a causa di un esercizio di cui riporto il testo:
-"Utilizzando la funzione getline, leggere i caratteri in ingresso riga per riga fino alla fine
dell’input e salvare la stringa di lunghezza massima immessa. Stampare tale stringa dopo
aver ricevuto la fine dell’input."
Parto dal presupposto (così come avevo specificato nel mio precedente thread) che sono nuovo ad ogni linguaggio di programmazione e mi ritrovo ad iniziare il mio percorso proprio da C. Siate clementi Detto questo riporto il codice sorgente:
#include <stdio.h>
#define MAX 100
int get(char s[], int lim);
int main ()
{
char my_string[MAX];
int i;
printf("Inserire un testo:\n");
scanf("%s", my_string);
printf("Stringa di lunghezza massima = ");
for (i=get(my_string, i); my_string[i]!='\0' && my_string[i]!=' '; i++) {
printf("%c", my_string[i]);
}
printf("\n");
}
int get(char s[], int lim) {
int i, a, z=1;
for (i=0; s[i]!='\0'; i++) {
for (a=i; s[a]!=' '; a++) {
if (s[a]==' '){
lim=a;
}
}
if (s[i]==' ') {
for (a=i+1; s[a]!=' '; a++) {
if (s[a]==' '){
z++;
lim=a;
continue; }
if (lim<(lim+a)/z)
lim=a;
}
}
}
return lim;
}
Una cosa è certa, mi sembra di aver pasticciato un bel po' di comandi!