>>697
これじゃない?

while((G > 40)||(G = 25)){ /*** Gが40以上、または25ならば ***/

G=25は比較じゃなく25を上書きしている。当然、式の値はゼロではないから無限に(ry

詰まったときにはループとループの間に
printf(゙ここまできたよ\n゙);
みたいなのをばらまいて、どこで止まってるかを絞り込むといいかも