В следующей программе, если я использую строку для инвертированного набора сканов, она отлично работает, если я ввожу строку из нескольких слов (заканчивающуюся на ENTER или новую строку), даже если новая строка находится в инвертированном списке.
Но если вместо этого я использую строку для скансета и ввожу слово «эгида» (или любое слово с согласными, если уж на то пошло), то выводятся ненужные символы. По аналогии с первым случаем, если я ввожу это слово, должно быть выведено как минимум "ae"? Объясните, пожалуйста, такое поведение набора сканирований и инвертированного набора сканирований для scanf().
#include <stdio.h>
int main ()
{
char str[30];
printf("Enter the string\n");
//scanf("%[^\n]",str);
//scanf("%[aeiou]",str);
printf("%s",str);
}