将字符串a中的下标赋值到b中并输出c++

现有字符串 a=“nei meng gu min zu da xue”,将a字符串中与字符常量‘e’相等的所有元素的下标分别存放在整型数组b中,并输出b数组的所有元素。#C语言
现在有以下代码,求大佬帮我找找错
#include <stdio.h>
int main()
{
char a[]="nei meng gu min zu da xue";
int b[25],i,j=0;
for(i=0;a[i]!='\0';i++)
if(a[i]!='\0')
{
b[i]=i;
j++;
}
for(i=0;i<j;i++)
printf("%3d",b[i]);
printf("\n");
return 0;
}


#include <stdio.h>
int main()
{
    char a[]="nei meng gu min zu da xue";
    int b[25],i,j=0;
    for( i = 0; a[i] != '\0'; i++ )
    {
        if(a[i] == 'e')
        {
            b[j]=i;
            j++;
        }
    }
    for( i = 0; i < j; i++ )
    {
        printf("%3d",b[i]);
    }
    printf("\n");
    return 0;
}