Salve a tutti, sto cercando di eseguire un esercizio che mi chiede di creare un programma in grado di contare vocali e consonanti di una stringa immessa dall'utente.
Non riesco a capire perchè il carattere di spazio venga riconosciuto come \0
c'è un errore nel mio codice o non ho capito qualcosa sulle stringhe?
Grazie a tutti, di seguito il codice:

codice:
#include <stdio.h> 
#include <stdlib.h> 
#define M 15 

int main(int argc, char *argv[]) {     

int k=0,k2=0;      
char S[M], C;                       

printf("\nInserire una stringa di massimo 15 caratteri:\n");                  
scanf("%s", S);                 
fflush(stdin);                  

while(S[k]!='\0') {                                    
if((S[k]=='A') || (S[k]=='E') || (S[k]=='I') || (S[k]=='O') || (S[k]=='U') || (S[k]=='a') || (S[k]=='e') || (S[k]=='i') || (S[k]=='o') || (S[k]=='u'))
                                                   k2++;   
k++;
                                    }
                                                        
printf("\nNella stringa sono presenti %d Vocali e %d consonanti.\n",k2,k-k2);

system("PAUSE");
return 0; }