水仙花数输出代码找错

想输出水仙花数,自己写的,但是找不出问题,帮忙找一下错误
#include
#include
int main()
{
    int  b = 1, i, s = 0, g = 0;
    while(b>0&&10>b)
    {
        while (s >= 0 && s < 10) {
            while (g >= 0 && 10 > g) {
                i = g + 10 * s + 100 * b;
                if (i = g * g * g + b * b * b + s * s * s)
                    printf("%d    ", i);
                 g += 1;
                 
            }
            g = 0;
            s += 1;
    }
        
        s = 0;
        g = 0;
        b += 1;
    }

    system("pause");
    return 0;
}

if (i == g * g * g + b * b * b + s * s * s)