не понимаю почему не выводится то что в цикле for

#include <stdio.h>

int main()
{
    int nsymbol[128];
    int i;
    int c=0;

    for(i=0;i<128;++i)
        nsymbol[i]=0;

    while((c=getchar())!=EOF)
    {
        if(c<128)
            ++nsymbol[c];
    }
    
    for(i=32;i<127;i++)
    {
        if(nsymbol[i]>0)
        {
            printf("\"");
            putchar(i);
            printf("\": ");

            printf("%d",nsymbol[i]);
            printf("\n");
        }
    }
    
    return 0;
}

Ответы (1 шт):

Автор решения: Миша Лисицин

в общем у меня получилось, изменив цикл

while((c=getchar())!=EOF)
    {
        if(c<128)
            ++nsymbol[c];
            
        if(c=='\n')
            break;
    }

не знаю может можно как нибудь проще, но как я понял он застревает в вайле ожидая ввода

→ Ссылка