Utilizziamo cookie tecnici e di profilazione (anche di terze parti) per migliorare la tua esperienza su questo sito. Continuando la navigazione accetti l'utilizzo dei cookie; in alternativa, leggi l'informativa e scopri come disabilitarli.

#include<stdio.h> 
#include<string.h>
#define N 10
char s[N];
unsigned int i;
main(){
printf("\nUSO SCANF ERRATO ");
printf("\nInserisci una stringa ");
scanf("%s",s);
while (getchar()!='\n');
printf("\nLa stringa inserita e': %s ",s);
printf("\ned ha lunghezza %u ",strlen(s));
printf("\n\nUSO SCANF che gestisce gli spazi ma non la lunghezza");
printf("\nInserisci una stringa ");
scanf("%[^\n]s",s);
while (getchar()!='\n');
printf("\nLa stringa inserita e': %s ",s);
printf("\ned ha lunghezza %u ",strlen(s));
printf("\n\nUSO GETS che gestisce gli spazi ma non la lunghezza");
printf("\nInserisci una stringa ");
gets(s);
printf("\nLa stringa inserita e': %s ",s);
printf("\ned ha lunghezza %u ",strlen(s));
printf("\n\nUSO FGETS che gestisce gli spazi e la lunghezza");
printf("\nFGETS legge al massimo i successivi N-1 caratteri ");
printf("\noppure si ferma se trova un carattere di newline ");
printf("\nche e' inserito nel vettore prima del carattere fine stringa");
printf("\n\nInserisci una stringa ");
fgets(s,N,stdin);
i=strlen(s);
printf("\nLa stringa inserita e': %s ",s);
printf("\ned ha lunghezza %u ",i);
if (i<N-1) s[i-1]='\0';
else while (getchar()!='\n');
printf("\nLa stringa inserita e': %s ",s);
printf("\ned ha lunghezza %u ",strlen(s));
printf("\n\nUSO getchar() CORRETTO");
printf("\nInserisci una stringa ");
for (i=0; (s[i]=getchar())!='\n' && i<N-1;i++);
s[i]='\0';
if (i==N-1) while (getchar()!='\n');
printf("\nLa stringa inserita e': %s ",s);
printf("\ned ha lunghezza %u \n\n\n",strlen(s));
getchar();
}