Ciao a tutti, vorrei fare un programma che nel main acquisisce una stringa e in una funzione conta il numero di caratteri acquisiti e il numero di spazi nella stringa.
Il problema è che se la stringa è "ciao mi chiamo megaempire" il compilatore arriva al primo spazio e si ferma, conta 4 caratteri e 0 spazi.
Ho provato a fare il debug e quando arriva allo spazio dopo ciao il carattere è '\0' quindi è normale che esce ma perché c'è il carattere di fine stringa???
codice:#include <stdio.h> void genera(char s1[],int *a, int*b); void main() { char s[100]; printf("Inserisci la frase che poi i giocatori andranno a cercare : "); scanf("%s",s); int i1 = 0; int spazi; genera(s,&i1,&spazi); printf("%d %d", i1,spazi); } void genera(char s1[],int *a, int*b) { int agen = *a; int bgen = 0; while ( s1[agen] != '\0') { if (s1[agen] == ' ') { bgen ++; } agen++; } *a = agen; *b = bgen; }

					
					
					
						
  Rispondi quotando