case ' ': //leaving case empty will go to default ???
Сначала я хочу пояснить, что если вы напишите case '': , вы не оставите дело пустым.На самом деле вы пишете case 32: , поскольку значение ASCII для пробела равно 32.
В общем, всякий раз, когда вы пишете 'a', или 'b' или любую константу характера,быть неявным преобразованием символа, указанного в соответствующее значение ASCII.
Proof:
The prototype of isspace() is,
int isspace ( int c );
And not as,
int isspace ( char c );
Закомментируйте регистр '': оператор.Тогда ты сам найдешь ответ.Если я закомментирую регистр '':,
Then on input,
hello world
the output will be,
Hello world <not expected>
instead of
Hello World (needed output).