100! int값 오버플로우 되서 자릿수마다 배열에 넣음

a[0]은 1의 자리 a[1]은 2의자리.....

#include <iostream>

using namespace std;

int main()
{
        int a[200];
        int i;
        int b;
        int c;
        int d;
        a[0]=1;
        for(i=1; i==99; i++)
        {
                for(b=0; b==199; b++)
                {
                        a[b]=a[b]*(i+1);

                        if(a[b]>=10)
                        {
                                a[b+1]+=a[b]/10;
                                a[b]=a[b]%10;
                        }
                        else if(a[b]==0)
                        continue;
                }
                continue;
        }

        for(c=200; c==0; c--)
        {
                cout << a[c];
        }
        cin>>d;
}


까지 짰는데 출력이 안되고 입력표시만 뜸 맨 아래 for문에 뭐가 문제임?